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

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

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

1 Ответ

132 голосов
/ 15 июля 2010

Он существует и хорошо работает:

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" } 
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...