Здравствуйте, Bell, Вы писали:
B>Нет, не должно. После вызова erase итератор становится невалидным, и все дальнейшие операции с ним ведут к UB.
B>Однако в случае, когда итератор вектора — обычный указатель, то этот код будет работать, причем правильно. Но если поменяется реализация STL, и в этой реализации вектор будет иметь "полноценные" итераторы, то сюрпризы обеспечены.
Теоретически, да, и для полной и абсолютной совместимости так нельзя, но вряд-ли сушествует вариант stl где итератор vector реализован по иному
... << RSDN@Home 1.1.4 beta 3 rev. 241>>