STL 迭代器失效性问题总结
STL 迭代器失效性问题总结
我们讨论 vector, deque, list, set, map 的迭代器失效问题。
vector 迭代器
当插入一个元素后,插入点之前的迭代器如果未扩容则不受影响,插入点之后的迭代器失效;
当插入一个元素后,capacity 如果有变化,则容器需要重新分配内存,所有迭代器都会失效;
当进行删除操作后,指向删除点及之后元素的迭代器全部失效。
deque 迭代器
在容器 begin/end 插入操作所有迭代器不受影响;
在容器非 begin/end 的位置插入和删除操作都会
转载
2021-02-28 16:41:43 ·
324 阅读 ·
0 评论