Pergunta

What does the standard guarantee will happen if an unordered_map (or more generally a unique associative container) is constructed with an initializer_list with repeated keys? Is it undefined or does it have unique compliant behavior? gcc 4.7 accepts code like this

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

but that doesn't tell me what is guaranteed by the standard.

Foi útil?

Solução

The "container requirements" state that X(il) is the "Same as X(il.begin(), il.end())" (for an initializer list il), so the result is standardized and as expected, namelt, the elements are inserted in order.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top