25 c++
简单的问题,但很难为搜索引擎制定:如果我创建一个指向地图对象的指针,我如何访问和设置其元素?以下代码不起作用.
map<string, int> *myFruit;
myFruit["apple"] = 1;
myFruit["pear"] = 2;
Run Code Online (Sandbox Code Playgroud)
Gre*_*ill 68
你可以这样做:
(*myFruit)["apple"] = 1;
Run Code Online (Sandbox Code Playgroud)
要么
myFruit->operator[]("apple") = 1;
Run Code Online (Sandbox Code Playgroud)
要么
map<string, int> &tFruit = *myFruit;
tFruit["apple"] = 1;
Run Code Online (Sandbox Code Playgroud)
myFruit是指向地图的指针.如果你删除星号,那么你将有一个地图,你的语法将起作用.
或者,您可以使用解除引用运算符(*)来使用指针访问地图,但您必须先创建地图:
map<string, int>* myFruit = new map<string, int>() ;
Run Code Online (Sandbox Code Playgroud)