【发布时间】:2020-11-22 20:57:41
【问题描述】:
假设,有两个迭代器在不同的地方指向不同的地方。
对于列表,如果在它们之间插入一个项目,它们是否仍然有效?
如果我理解正确,std::list 对象通常实现为双向链表,因此在插入(或删除)时,迭代器仍然有效。
但是,对于一个数组,我相信情况并非如此。如果现在在两个迭代器之间删除了一个项目 - 这是否意味着指向向量末尾的项目的迭代器现在指向后续项目(或者如果第二个迭代器指向最后一次,则指向结束迭代器)
我的理解正确吗?
【问题讨论】:
-
在此处查看 迭代器失效 - en.cppreference.com/w/cpp/container/vector
标签: c++ iterator stdvector stdlist