considerare il seguente codice:Come restituire un riferimento const QString in caso di errore?
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
}
}
Come posso evitare di avere un vuoto QString senza cambiare il tipo di ritorno del metodo? (Sembra che restituire una QString vuota allocata nello stack sia una cattiva idea)
Grazie.
Mentre è opportuno restituire il riferimento const in genere, penso che si possa ottenere più che restituire una QString in base al valore se necessario. È una copia scritta, molto economica da copiare. –