标签: c++ stl set stdset
我需要通过保存set.find()返回的迭代器来跟踪std :: set元素。
我的问题是插入和删除其他元素是否会使获得的迭代器失效?从我做过的简单测试我可以看出它不是,但我想确保这个功能是设计的。
答案 0 :(得分:11)
它永远不会使元素的迭代器或指针/引用无效。仅当您删除元素本身时,迭代器或指针/引用才会变为无效。
23.1.2/8:
23.1.2/8
插入成员不应影响迭代器的有效性和对容器的引用,并且擦除成员应仅使迭代器和对已擦除元素的引用无效。