标签: c++ list stl iterator
我知道STL列表的任何插入或删除操作都不会使它们的迭代器失效。 但是,我不确定列表是否仍然保留迭代器本身。
那么,我可以存储列表迭代器的指针并在以后使用吗?
答案 0 :(得分:3)
对于 std::list :
如果插入, 所有迭代器和引用不受影响[23.2.2.3/1]
如果删除, 只有迭代器和对擦除元素的引用才会失效[23.2.2.3/3]
因此,只要您擦除元素并且不使用其存储的迭代器,它就是安全的。