Son*_*dar 9 unordered-map c++11
在使用迭代器迭代地图时,在unordered_map中以特定顺序插入的键是否会以相同的顺序出现?
例如:如果我们在B中插入(4,3),(2,5),(6,7)并且迭代如下:
for(auto it=B.begin();it!=B.end();it++) {
cout<<(it->first);
}
Run Code Online (Sandbox Code Playgroud)
会给我们4,2,6或钥匙可以按任何顺序出现吗?
Aim*_*ery 17
从cplusplus.com页面了解(链接)的begin成员函数:unordered_map
请注意,unordered_map对象不保证将哪个特定元素视为其第一个元素.
所以不,不能保证元素按插入顺序迭代.
仅供参考,您可以unordered_map更简单地迭代:
for (auto& it: B) {
// Do stuff
cout << it.first;
}
Run Code Online (Sandbox Code Playgroud)