c 11 – 使用重复键从初始化列表构造的Unordered_map

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

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

但这并没有告诉我标准保证什么.

最佳答案 “容器要求”声明X(il)是“与X相同(il.begin(),

il.end())“(对于初始化列表il),因此结果是标准化的,并且如预期的那样,namelt,元素按顺序插入.

点赞