Стандарт С++ определяет конструктор std::map
, используя std::initializer_list
:
map( std::initializer_list<value_type> init, const Allocator& );
Однако, где определено, что произойдет, если список инициализаторов содержит повторяющиеся ключи? Выбран первый ключ или последний? Например:
std::map<std::string, int> my_map {
{"a", 1},
{"a", 2}
};
На практике кажется, что он ведет себя как insert()
, так что теперь карта будет содержать {a: 1}.
Однако я не смог найти что-либо в стандарте С++ относительно этого.