Iterator invalidation(迭代器失效)

Posted HelloCsz

tags:

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

一.vector

所有读操作、swap、std::swap:都不会引起迭代器失效...

clear、operator=、assign:都会引起全部变量迭代器失效

reserve、shrink_to_fit:如果capacity的大小被改变了,则引起全部变量迭代器失效

erase:被删除的变量以及其后面的变量包括end()都迭代器失效

push_back、emplace_back:假如capacity的大小被改变,则引起全部变量迭代器失效。否则只是end()迭代器失效

insert、emplace、resize:假如capacity的大小被改变,则引起全部变量迭代器失效。否则只是在插入位置后面的变量迭代器失效

pop_back:被删除的变量以及end()迭代器失效

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

java 中 iterator 为啥翻译成迭代器呢

迭代器(Iterator)

用迭代器iterator遍历list中第一条数据和最后一条数据 并判断

用迭代器iterator遍历list中第一条数据和最后一条数据 并判断

Iterator迭代器

26. 迭代器iterator函数对象