容器操作使迭代器失效

Posted KennyRom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器操作使迭代器失效相关的知识,希望对你有一定的参考价值。

一、向容器添加元素时

①vector & string 

  if 储存空间重新分配 迭代器、引用&指针都失效

  if 没有重新分配  插入位置之前都有效

 

②deque 

插入到除首尾外都会失效

if 首尾添加,迭代器失效,其他不失效

 

③list & forward_list

都有效

 

二、从容器中删除元素

①list & forward_list

指向容器其他的任有效

 

②deque

删除首&非尾的其他,任有效

删除尾元素,都失效

 

③vector & string

被删之前任有效

 

 

当我们删除元素时尾后迭代器总会失效

以上是关于容器操作使迭代器失效的主要内容,如果未能解决你的问题,请参考以下文章

迭代器失效~转载

C++迭代器的使用和操作总结

课时10:迭代器迭代器失效分析

13. 迭代器失效问题迭代器失效底层原理及实现

C++容器类插入和删除时迭代器的失效情况总结

迭代器精彩演绎,失效分期及弥补实战