地图的第二部分<..,..>稳定吗?

a-z*_*a-z 7 c++ stl map

如果我们有一个map <int, vector<int> >vector管S移到时的地图变化的红黑树或者其存储指针vectorS或类似的东西,不动他们(与地图不会O(LG N)再例如,如果我们的push_back别的工作某些人vector的元素

Cyg*_*sX1 10

看到这一个: std :: map,指向映射键值的指针,这可能吗?

第二顶部的答案:

第23.1.2节#8(关联容器要求):

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

所以保证指向map元素的数据成员的指针保证有效,除非你删除元素.

因此,如果保留引用,则无法将数据复制到内存的不同部分.如果是这样的话,我根本没有看到执行任何副本的重点......

  • 仅供注意:该文本已移至新版标准草案中的新部分p.744,23.2.4#9.[N3797,2013-10-13](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3797.pdf) (2认同)