例如:
#include <unordered_map>
class A{};
std::unordered_map<unsigned int, A> map {{0,{}},{1, {}},{2, {}}};
int main() {
A& a1 = map[1];
// some insert and remove operations ( key 1 never removed)
// ....
}
在进行大量插入操作后,仍然使用a1
引用键为"1"的值,这样做是否安全?
换句话说:由于std::vector在容量更改时会移动元素,因此其元素的引用不能保证有效。这个事实是否也适用于unordered_map
?
std::vector
中的元素位置发生变化,对其进行引用仍然是安全的吗? - 김선달