Как будет выглядеть расширенный список инициализаторов std::map?
если он даже существует, что бы a std::map
расширенный список инициализаторов выглядит так?
Я пробовал некоторые комбинации... ну, все, что я мог придумать с GCC 4.4, но не нашел ничего, что было скомпилировано.
1 ответ:
Это существует и хорошо работает:
std::map <int, std::string> x { std::make_pair (42, "foo"), std::make_pair (3, "bar") };
помните, что тип значения карты составляет
pair <const key_type, mapped_type>
, поэтому вам в основном нужен список пар с одинаковыми или конвертируемыми типами.при унифицированной инициализации с помощью std:: pair код становится еще проще
std::map <int, std::string> x { { 42, "foo" }, { 3, "bar" } };