Tôi thích sử dụng nullptr
thay vì NULL. Bây giờ tôi gọi một hàm C (từ libjansson
trong trường hợp này).Là C NULL bằng C++ 11 nullptr
NULL
trong C đang triển khai defined.
Đối với nullptr
Tôi thấy rằng "Hằng số con trỏ null là biểu thức hằng số không thể tách rời (5.19) rvalue của kiểu số nguyên ước lượng bằng không".
Vì vậy, điều an toàn nhất để làm:
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;
Tôi có thực sự cần điều đó hoặc tôi có thể làm điều đó đơn giản hơn:
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;
Chọn ngôn ngữ. Ngôn ngữ sau đó sẽ cho bạn biết những gì để sử dụng. Bạn không thể kết hợp-n-phù hợp với –
@EdHeal: Đây là một câu hỏi về khả năng tương tác. – user877329
Đối với các hàm C mà bạn đang gọi từ C++, bạn sử dụng NULL trong đó các đối số thích hợp. Nếu không thì sử dụng nullptr. Nếu chuyển từ C++ sang C thì 'v == nullptr? NULL: v' và ngược lại –