iterator invalidation
A container change that leaves existing iterators, pointers, or references pointing at stale memory.
An operation invalidates an iterator (or pointer or reference) when it may move or destroy the element it refers to; each container documents which operations invalidate what, and using an invalidated iterator is undefined behavior.
See also