S'il existe même, qu'est-ce qu'un std::map
la liste d'initialisation étendue ressemble à?
J'ai essayé quelques combinaisons de ... eh bien, tout ce à quoi je pouvais penser avec GCC 4.4, mais je n'ai rien trouvé de compilé.
Il existe et fonctionne bien:
std::map <int, std::string> x
{
std::make_pair (42, "foo"),
std::make_pair (3, "bar")
};
N'oubliez pas que le type de valeur d'une carte est pair <const key_type, mapped_type>
, vous avez donc essentiellement besoin d'une liste de paires de types identiques ou convertibles.
Avec une initialisation unifiée avec std :: pair, le code devient encore plus simple
std::map <int, std::string> x {
{ 42, "foo" },
{ 3, "bar" }
};