在我的代码中,我有一个std::map
看起来像这样的:
std::map<std::string, A*> myMap;
其中 A 是我的自定义类之一。
当我通过如下方式访问不存在的地图元素operator[]
时:
std::string s("hello");
A* pA = myMap[s];
我知道将使用该键创建一个新元素,但我希望将指针初始化为 NULL。换句话说,如果myMap[s]
存在,则应该返回一个有效的指针。如果不是,我希望在上述代码执行后 pA 为 NULL。
默认情况下,如果myMap[s]
不退出,pA 会包含垃圾吗?如果元素不退出,我怎样才能使 pA 包含值 NULL ?