Как будет выглядеть расширенный список инициализаторов std::map?


если он даже существует, что бы a std::map расширенный список инициализаторов выглядит так?

Я пробовал некоторые комбинации... ну, все, что я мог придумать с GCC 4.4, но не нашел ничего, что было скомпилировано.

1 69

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" } 
};