estoy inicializando map<string, vector<string> >
de la siguiente manera:inicializar mapa <cadena, vector <string>>
map <string, vector<string> > dict;
dict["USA"].push_back("NYC");
dict["USA"].push_back("LA");
dict["USA"].push_back("Chicago");
dict["USA"].push_back("Dallas");
dict["India"].push_back("Delhi");
dict["India"].push_back("Bombay");
dict["Australia"].push_back("Melbourne");
dict["Australia"].push_back("Sydney");
dict["Australia"].push_back("Adelaide");
Me parece engorroso. Lo mismo se puede hacer de la siguiente manera tcl
que es más limpio:
array set dict {
USA {NYC LA Chicago Dallas}
India {Delhi Bombay}
Australia {Melbourne Sydney Adelaide}
}
¿Existe una manera más limpia para inicializar en C++
? Mi compilador es gcc 3.4.6
En C++ 11, sí. En GCC 3.4.6, no. – Pubby
GCC 3.4.6 ??? Deberías considerar actualizar a un compilador más nuevo ... Hay una biblioteca de impulso para facilitar este tipo de inicialización, pero no estoy seguro de que pueda usarse con un compilador tan antiguo (6 años es casi una eternidad) –