c++11 - Unordered_map 从具有重复键的初始化列表构造

标签 c++11 unordered-map initializer-list

如果 unordered_map,标准保证会发生什么? (或更一般地说,一个独特的关联容器)是用 initializer_list 构造的。用重复的键?它是未定义的还是具有独特的合规行为? gcc 4.7 接受这样的代码

 std::unordered_map<int, int> x = {{1,1}, {1,2}};

但这并不能告诉我标准能保证什么。

最佳答案

“容器要求”指出 X(il)是“与 X(il.begin(), il.end()) 相同”(对于初始值设定项列表 il ),因此结果是标准化的,并且正如预期的那样,按顺序插入元素。

关于c++11 - Unordered_map 从具有重复键的初始化列表构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20792596/

相关文章:

c++ - 链式调用构造函数中 shared_from_this 的问题

c++ - 在多线程代码中转发

C++ 在无序对中存储值

c++ - GNU C++ 库是否缺少 unordered_map 构造函数?

c++ - 无序 map 占用大量空间

c++ - C++11 初始化列表可以与动态数组一起使用吗?

c++ - 类内成员初始值设定项因 VS 2013 而失败

c++ - 在 C++11 中实现 std::tuple 的字典序比较

C++ 库自由指针

c++ - 指向 C 样式数组元素的指针的 const vector