This excellent SO answer explains all the iterator invalidation rules: http://stackoverflow.com/a/6442829/1959975
However it specifically says that it is not clear whether end iterators have the same rules applied.
Is there anything about it in any defect reports or is there any discussion amongst the standards committee? I have heard of globalized end iterators (that is, end iterators that mark the end of all containers and are not associated with any specific container), and I have also heard rumors about container-aware iterators. Anyone happen to know the latest news?