Re: How to write previous element in STL list
cornelis van der bent wrote:
On 27 jul, 17:42, Victor Bazarov <v.Abaza...@comAcast.net> wrote:
cornelis van der bent wrote:
In my code I want to go through all combinations of two items in a
list. Here is my code:
list<Instance*>::iterator i;
for (i = instances.begin(); i != --instances.end(); i++)
{
list<Instance*>::iterator j;
for (j = i + 1; j < instances.end(); j++)
{
// Do something!
}
}
I get a big error message at i + 1.
Such an operation is only defined for random-access iterators, and the
list iterator isn't one.
Do you know reason(s) why this has nog been implemented for a list?
The list is doubly-linked, so giving back an iterator one postion
earlier/further does not seem to be a big deal.
One position not, that's why there are increment/decrement operators, but
you cannot define addition/subtraction operators that only work with the
value 1. They would have to be usable with any value, and adding e.g. a
million to such an iterator (provied that the list has that many elements
elements) would be possible, but very slow.