Mi piace usare nullptr
anziché NULL. Ora chiamo una funzione C (da libjansson
in questo caso).C NULL uguale a C++ 11 nullptr
NULL
in C è l'implementazione defined.
Per nullptr
Ho trovato che "Una costante di puntatore nullo è un'espressione di costante integrale (5.19) valore di tipo intero che viene valutata a zero".
Quindi la cosa più sicura da fare:
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;
Ho veramente bisogno di questo o posso fare più semplice:
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;
Scegliere la lingua. La lingua quindi ti dice cosa usare. Non è possibile mix-n-match –
@EdHeal: questa è una domanda di interoperabilità. – user877329
Per le funzioni C chiamate da C++ si utilizza NULL in argomenti come appropriato. Altrimenti usa nullptr. Se si passa da C++ a C, fare 'v == nullptr? NULL: v' e viceversa –