我正在使用LLVM,我遇到了以下我没写过的代码问题:
static std::map<std::string, Value*> NamedValues;
... //Lots of other code
Value *V = NamedValues["Demo string"];
return V ? V : ErrorV("V is not in NamedValues map.");
Run Code Online (Sandbox Code Playgroud)
根据我对std :: map的理解,它应该永远不会返回一个空指针(除非它没有内存?),所以我很难理解V为0表示V不在地图中.因为我的程序总是在这里收到错误,但我无法弄清楚原因.对这里发生的事情有任何帮助吗?