Uso la seguente classe per impostare automaticamente il cursore in attesa all'inizio di una determinata funzione e ripristinare il cursore quando la funzione ritorna.Il compilatore C++ è autorizzato a ottimizzare gli oggetti locali senza riferimento
class WaitCursorSetter
{
public:
WaitCursorSetter() {QApplication::setOverrideCursor(Qt::WaitCursor);}
virtual ~WaitCursorSetter() {QApplication::restoreOverrideCursor();}
};
Creazione di un oggetto locale WaitCursorSetter
all'avvio della funzione. Poiché il cursore di attesa viene ripristinato nel distruttore dell'oggetto, non devo reimpostare il cursore prima di ogni singola istruzione di ritorno nel metodo, dal momento che il distruttore viene chiamato quando la funzione ritorna e l'oggetto esce dall'ambito.
Se il compilatore ha ottimizzato l'oggetto WaitCursorSetter
senza riferimento, questo non funzionerà. Il mio problema è, il compilatore ha permesso di ottimizzare questo oggetto?