¿Cómo sería una lista de inicializador extendido std::map?


Si existe, ¿cómo sería una lista de inicializadores extendida std::map?

He probado algunas combinaciones de... bueno, todo lo que se me ocurrió con GCC 4.4, pero no encontré nada que compilara.

Author: BartoszKP, 2010-07-15

1 answers

Existe y funciona bien:

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

Recuerde que el tipo de valor de un mapa es pair <const key_type, mapped_type>, por lo que básicamente necesita una lista de pares con tipos iguales o convertibles.

Con la inicialización unificada con std:: pair, el código se vuelve aún más simple

std::map <int, std::string> x { 
  { 42, "foo" }, 
  { 3, "bar" } 
};
 114
Author: doublep,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-26 03:17:58