我喜欢使用nullptr而不是NULL.现在我调用一个C函数(libjansson在本例中).
NULL在C中是实现定义的.
因为nullptr我发现"空指针常量是整数类型的整数常量表达式(5.19)rvalue,其值为零".
所以最安全的事情是:
auto string_obj=json_object_get(m_handle,name);
if(string_obj!=NULL)
{
auto string=json_string_value(string_obj);
if(string!=NULL)
{return string;}
}
return nullptr;
Run Code Online (Sandbox Code Playgroud)
我真的需要它还是可以更简单地做到这一点:
auto string_obj=json_object_get(m_handle,name);
if(string_obj!=nullptr)
{
return json_string_value(string_obj); //Assume there is no difference between C NULL and C++11 nullptr
}
return nullptr;
Run Code Online (Sandbox Code Playgroud)