Consente di considerare Ho la seguente funzione:affettazioni ed eccezioni
SomeType createSomeType();
che può throw
seconda di alcuni motivi.
Poi:
SomeType val = SomeType(); // initial value
try
{
val = createSomeType(); // here
}
catch (std::exception&)
{
}
Se createSomeType()
tiri liberi, posso sempre per scontato che val
valore è invariato ?
Se 'createSomeType' getta, sarà il corpo dell'operatore di assegnazione mai essere inserito? Come potrebbe cambiare il valore in quel caso? –
@ Space_C0wb0y: Potrebbe accadere che il corpo non getti, ma l'incarico sovraccarico getta. – sharptooth
L'OP chiede esplicitamente il caso in cui 'createSomeType' genera, quindi l'operatore di assegnazione non svolge alcun ruolo (in quello specifico scenario). –