std::set.find() 返回的迭代器存在多久?
我需要通过保存 set.find() 返回的迭代器来跟踪 std::set 元素。
我的问题是插入和删除其他元素是否会使获得的迭代器无效?从我所做的简单测试中我可以看出事实并非如此,但我想确保此功能是设计使然。
I need to keep track of std::set element by saving the iterator returned by set.find().
My questions is does insertion and removing other elements invalidates the obtained iterator? From a simple test I did I can see it is not, but I'd like to ensure this feature is by design.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它永远不会使迭代器或元素的指针/引用无效。仅当删除元素本身时,迭代器或指针/引用才会变得无效。
23.1.2/8:
It never invalidates iterators or pointers/references to the elements. Only if you remove the element itself does the iterator or pointer/reference become invalid.
23.1.2/8
: