मेरी अनुचित शब्दावली के लिए क्षमा।गैर-सूचक सूचकांक के बराबर क्या है?
ObjectType * MyClass::FindObjectType(const char * objectTypeName)
{
if (objectTypeMap.find(objectTypeName) == objectTypeMap.end())
{
Msg("\n[C++ ERROR] No object type: %s", objectTypeName);
return NULL;
}
else
return &objectTypeMap[ objectTypeName ];
}
मैं एक ही बात करना चाहता हूँ लेकिन इस बार के बजाय एक वस्तु लौटने सिर्फ एक सूचक की:
मैं अगर एक प्रविष्टि मौजूद नहीं है कोड का एक टुकड़ा है कि एक शून्य सूचक रिटर्न दिया है। सूचक मैं जाँच कर सकते हैं के साथ
ObjectType MyClass::FindObjectType(const char * objectTypeName)
{
if (objectTypeMap.find(objectTypeName) == objectTypeMap.end())
{
Msg("\n[C++ ERROR] No object type: %s", objectTypeName);
}
else
return objectTypeMap[ objectTypeName ];
}
अगर प्रविष्टि इसलिए की तरह नहीं मिला था: निम्नलिखित कोड मुझे किसी भी संकलक त्रुटियों न जताए (जो मुझे तो हैरानी)
if (FindObjectType(objectType) == NULL)
//Do something
मैं कैसे करूँ वापस आने वाली वस्तु के साथ समकक्ष जांच करें?
'बढ़ावा :: वैकल्पिक' या एक अपवाद। –
GManNickG