【发布时间】:2012-05-26 09:27:16
【问题描述】:
我想知道这段代码的 sn-p 是否真的会存储一个指向由映射管理的对象的指针:
std::map<std::string,MapType> map;
MapType* typePointer;
typePointer = map[someKey];
【问题讨论】:
-
你到底想做什么?
标签: c++ pointers stl reference map
我想知道这段代码的 sn-p 是否真的会存储一个指向由映射管理的对象的指针:
std::map<std::string,MapType> map;
MapType* typePointer;
typePointer = map[someKey];
【问题讨论】:
标签: c++ pointers stl reference map
typePointer = &map[someKey];
【讨论】:
map::operator[] 返回一个不能为 null 的引用,并且相关映射不存储指针,因此它不能是对 null 的引用(这不会那么糟糕 - 你可以简单地覆盖它)。
不,不会的。
您在地图中存储MapType,而不是MapType*。因此,最后一行是类型不匹配,无法编译。
【讨论】: