que - ¿Cómo acceder a los elementos de un mapa C++ desde un puntero?
que es un mapa mental (3)
Pregunta simple pero difícil de formular para un motor de búsqueda: si hago un puntero a un objeto de mapa, ¿cómo accedo y configuro sus elementos? El siguiente código no funciona.
map<string, int> *myFruit;
myFruit["apple"] = 1;
myFruit["pear"] = 2;
Puedes hacerlo:
(*myFruit)["apple"] = 1;
o
myFruit->operator[]("apple") = 1;
o
map<string, int> &tFruit = *myFruit;
tFruit["apple"] = 1;
myFruit
es un puntero a un mapa. Si elimina el asterisco, tendrá un mapa y su sintaxis siguiente funcionará.
Alternativamente, puede usar el operador de desreferenciación ( *
) para acceder al mapa usando el puntero, pero primero tendrá que crear su mapa:
map<string, int>* myFruit = new map<string, int>() ;
map<string, int> *myFruit;
(*myFruit)["apple"] = 1;
(*myFruit)["pear"] = 2;
Funcionaría si necesita mantenerlo como un puntero.