обратная функция пригождается здесь:
myArray = [1,2,3,4]
myArray.reverse()
for x in myArray:
print x
Если вы увеличиваете конечный итератор, результатом будет неопределенное поведение. Итак, он может оставаться концом, или сойти с конца, или отправить по электронной почте вашей бабушке ссылку на goatse.
См. Также: Что, если я увеличу итератор на 2, когда он указывает на последний элемент вектора?
Предварительным условием для оператора ++ для прямого итератора является возможность разыменования итератора. Это означает, что он не может быть за концом карты, поэтому ваш код дает неопределенное поведение. Это описано в разделе 24.1.3 стандарта C ++.
Как указывали другие, увеличение конечного итератора вызывает неопределенное поведение, однако Стоит отметить, что Visual Studio 2008 выдаст утверждение отладки во время выполнения (из-за проверенных итераторов ), если вы сделаете это.