如果使用带有重复键的unordered_map
构造initializer_list
(或更一般地说是一个唯一的关联容器),标准保证会发生什么?是未定义还是具有独特的合规行为? gcc 4.7接受这样的代码
std::unordered_map<int, int> x = {{1,1}, {1,2}};
但这并没有告诉我标准保证什么。
答案 0 :(得分:2)
“容器要求”声明X(il)
是“与X(il.begin(),
il.end())
相同”(对于初始化列表il
),因此结果是标准化的并且符合预期,namelt,元素按顺序插入。