سؤال

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