C/C++ STL迭代器失效
迭代器,通常指的是STL中容器的指针封装,用于指向容器中的元素。
1、序列容器
1)内存连续,如vector。
删除(erase)一个元素,会导致其后面的元素都向前移动,则对应的迭代器都会失效。
尾部添加(push_back)一个元素,如果引起内存重新分配,则迭代器全部失效。
2)内存不连续,如list。
删除(erase)一个元素,只有当前元素对应的迭代器会失效。
2、关联容器
内存不连续,如map。
删除(erase)一个元素,只有当前元素对应的迭代器会失效。