Consideremos el siguiente código:Cómo devolver una referencia QString const en caso de error?
const QString& MyClass::getID(int index) const
{
if (i < myArraySize && myArray[i]) {
return myArray[i]->id; // id is a QString
} else {
return my_global_empty_qstring; // is a global empty QString
}
}
¿Cómo puedo evitar tener un QString vacío sin cambiar el tipo de retorno del método? (Parece que devolver una QString vacía asignada en la pila es una mala idea)
Gracias.
Si bien es bueno devolver la referencia de referencia en general, creo que puede más que salirse con la suya devolviendo un QString por valor si es necesario. Es copia en escritura, muy barato de copiar. –