如果 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/