想象一下,我有map<int, int>
。不知何故,我检索了一个指向地图中条目pair<35,37>
的迭代器。我将此迭代器保存为map<int, int>::iterator _my_iterator3537
。
之后,我在地图上做了很多插入。 _my_iterator3537
是否仍然指向pair<35,37>
?
答案 0 :(得分:3)
来自文档:
Map具有以下重要特性:将新元素插入到映射中不会使指向现有元素的迭代器无效。
从地图中删除元素也不会使任何迭代器无效,当然,除了实际指向正在被删除的元素的迭代器之外。
来自标准:23.1.2 / 8
插入成员不应影响迭代器的有效性和对容器的引用,并且擦除成员应仅使迭代器和对已擦除元素的引用无效。