C/C++ STL迭代器失效

迭代器,通常指的是STL中容器的指针封装,用于指向容器中的元素。

1、序列容器

1)内存连续,如vector。

删除(erase)一个元素,会导致其后面的元素都向前移动,则对应的迭代器都会失效。

尾部添加(push_back)一个元素,如果引起内存重新分配,则迭代器全部失效。

2)内存不连续,如list。

删除(erase)一个元素,只有当前元素对应的迭代器会失效。

 

2、关联容器 

内存不连续,如map。

删除(erase)一个元素,只有当前元素对应的迭代器会失效。

posted @ 2020-03-16 19:17  happyyoung  阅读(179)  评论(0编辑  收藏  举报