对不起。关于参考地图访问的一个简单问题
如果我有:
map<int,string> *items= new map<int,string>();
我这样做?
string x = &items[100];
答案 0 :(得分:2)
所以,首先我问;为什么要动态分配你的地图?它首先打败了使用它的目的。地图将在内部使用动态分配它的项目,但地图本身很便宜,你失去了通过范围确定性地管理其内存的能力。所以,你的代码变成了:
map<int,string> my_map;
my_map[100] = "some string";
string x = items[100];
否则你需要先取消引用地图指针。
string x = (*my_map)[100];
真的,但是......不要这样做。
答案 1 :(得分:1)
如果你必须:
map<int,string> *items= new map<int,string>();
你这样做:
string x = (*items)[100];
如果你可以改为:
map<int,string> items;
你会这样做:
string x = items[100];