Disculpas por mi terminología incorrecta.¿Cuál es el equivalente no puntero de NULL?
que tienen una porción de código que devuelve un puntero NULL si una entrada no existe:
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 ];
}
quiero hacer lo mismo pero esta vez de devolver un objeto en lugar de simplemente un puntero. El siguiente código no me da ningún error de compilación (que me sorprende):
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 ];
}
Con el puntero puedo comprobar si la entrada no se ha encontrado de esta manera:
if (FindObjectType(objectType) == NULL)
//Do something
¿Cómo puedo realizar la comprobación equivalente con el objeto que se devuelve?
'impulso :: opcional' o una excepción. –
GManNickG