Mox*_*Mox 1 c++ dictionary pointers initialization stdmap
以下代码的预期行为是什么,
#include <map>
...
std::map<int, A *> myMap;
myMap[0];
if(myMap[0] == NULL) {// true or false?
}
Run Code Online (Sandbox Code Playgroud)
if语句会评估为true吗?
插入的值将初始化为空指针.
如果key不存在,std :: map :: operator []将执行插入; 映射的值将被初始化,对于指针类型,它是零初始化,这导致空指针.
BTW:最好使用nullptr(因为C++ 11)而不是NULL
.