Является ли C NULL равным C ++ 11 nullptr
Я люблю использоватьnullptr
вместо NULL. Теперь я вызываю функцию C (изlibjansson
в этом случае).
NULL
в C это реализацияопределенный.
ЗаЯ обнаружил, что «константа нулевого указателя является целочисленным константным выражением (5.19) r целого типа, который оценивается как ноль».
Так что самое безопасное, что нужно сделать:
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;
Мне это действительно нужно или я могу сделать это проще:
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;