std :: set.find()返回的迭代器有多长?

jac*_*hab 7 c++ stl set stdset

我需要通过保存set.find()返回的迭代器来跟踪std :: set元素.

我的问题是插入和删除其他元素是否使获得的迭代器无效?从我做过的简单测试我可以看出它不是,但我想确保这个功能是设计的.

Joh*_*itb 11

它永远不会使迭代器或指针/对元素的引用无效.仅当您删除元素本身时,迭代器或指针/引用才会变为无效.

23.1.2/8:

插入成员不应影响迭代器和对容器的引用的有效性,并且擦除成员应仅使迭代器和对已擦除元素的引用无效.