मैं शून्य के बजाय nullptr
का उपयोग करना चाहते बराबर है। अब मैं एक सी समारोह (इस मामले में libjansson
से) कॉल करता हूं।सी शून्य करने के लिए सी ++ 11 nullptr
सी में NULL
कार्यान्वयन defined है।
nullptr
के लिए मैंने पाया कि "एक शून्य सूचक स्थिरांक एक अभिन्न निरंतर अभिव्यक्ति (5.1 9) पूर्णांक प्रकार का अभिन्न अंग है जो शून्य का मूल्यांकन करता है"।
तो सबसे सुरक्षित बात करने के लिए:
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;
भाषा चुनें। तब भाषा आपको बताती है कि क्या उपयोग करना है। आप मिश्रण-एन-मैच नहीं कर सकते –
@EdHeal: यह एक अंतर सवाल है। – user877329
सी कार्यों के लिए जिन्हें आप सी ++ से कॉल कर रहे हैं, आप वहां उचित तर्कों में न्यूल का उपयोग करते हैं। अन्यथा nullptr का उपयोग करें। यदि सी ++ से सी में चल रहा है तो v v == nullptr? शून्य: v' और इसके विपरीत –