문제

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.

도움이 되었습니까?

해결책

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top