2010-07-14 4 views

Répondre

106

Il existe et fonctionne bien:

std::map <int, std::string> x 
    { 
    std::make_pair (42, "foo"), 
    std::make_pair (3, "bar") 
    }; 

Rappelez-vous que le type de valeur d'une carte est pair <const key_type, mapped_type>, vous devez donc essentiellement une liste de paires avec des types identiques ou convertibles.

Avec l'initialisation unifiée avec std :: paire, le code devient encore plus simple

std::map <int, std::string> x { 
    { 42, "foo" }, 
    { 3, "bar" } 
}; 
+2

Impressionnant, ce qui rend très agréable stylewise. Je pourrais juste "laisser tomber" le support de MSVC 2010 pour pouvoir l'utiliser avec GCC :). – rubenvb

Questions connexes