Qual è lo scopo del const in questo?Scopo del ritorno con valore const?
const Object myFunc(){
return myObject;
}
Ho appena iniziato a leggere Effective C++ e Articolo 3 sostenitori questa e una ricerca di Google raccoglie i suggerimenti simili, ma anche esempi contrari. Non riesco a vedere come usare cost qui sarebbe sempre preferibile. Supponendo che un ritorno per valore sia desiderabile, non vedo alcun motivo per proteggere il valore restituito. L'esempio fornito per il motivo per cui ciò potrebbe essere utile è la prevenzione dei cast di bool involontari del valore di ritorno. Il vero problema è che i cast di bool impliciti dovrebbero essere prevenuti con la parola chiave esplicita.
L'utilizzo di cost qui impedisce l'utilizzo di oggetti temporanei senza assegnazione. Quindi non potevo eseguire espressioni aritmetiche con quegli oggetti. Non sembra che ci sia mai un caso in cui un const senza nome sia utile.
Cosa si ottiene utilizzando const qui e quando sarebbe preferibile?
MODIFICA: consente di modificare l'esempio aritmetico per qualsiasi funzione che modifichi un oggetto che si desidera eseguire prima di un compito.
Sì, è possibile eseguire operazioni aritmetiche con oggetti const poiché gli operatori aritmetici devono essere const e restituire anche oggetti const –