quello che dovrebbe accadere nel caso seguente:Passando valore di ritorno di una funzione come riferimento
int functionA() {
return 25;
}
void functionB(const int& ref) {
cout << ref << endl;
}
void start() {
functionB(functionA());
}
Quando si compila questo esempio, si emette il valore corretto 25. Come funziona? Non dovrebbe essere cancellato il valore di riferimento referenziato nello stack (rimosso dallo stack) quando si usa solo un riferimento ad esso, o il comportamento è indefinito?
vedere C++ 11 standard 12.2/4,5 per l'effetto di riferimenti costanti di oggetti temporanei – nijansen