在 unordered_map 中以特定顺序插入的键是否会出现在相同的订单使用迭代器迭代地图时?
例如:如果我们在 B 中插入 (4,3), (2, 5), (6, 7)。
并迭代如下:
for(auto it=B.begin();it!=B.end();it++) {
cout<<(it->first);
}
它会给我们 4、2、6 还是钥匙可能以任何顺序出现?
来自cplusplus.com http://www.cplusplus.com/页面关于begin
的成员函数unordered_map
(link http://www.cplusplus.com/reference/unordered_map/unordered_map/begin/):
请注意,unordered_map 对象不保证哪个特定元素被视为其第一个元素.
所以不,不能保证元素会按照插入的顺序进行迭代。
仅供参考,您可以迭代unordered_map
更简单地说:
for (auto& it: B) {
// Do stuff
cout << it.first;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)