9.3.6. Container Operations May Invalidate Iterators
Operations that add or remove elements from a container can invalidate pointers, references, or iterators to container elements. An invalidated pointer, reference, or iterator is one that no longer denotes an element. Using an invalidated pointer, reference, or iterator is a serious programming error that is likely to lead to the same kinds of problems as using an uninitialized pointer (§ 2.3.2, p. 54).
After an operation that adds elements to a container
• Iterators, pointers, and references to a
string are invalid if the container was reallocated. If no reallocation happens, indirect ...