co ma nastąpić w następujących przypadkach:Podanie wartości zwracanej przez funkcję jako odniesienie
int functionA() {
return 25;
}
void functionB(const int& ref) {
cout << ref << endl;
}
void start() {
functionB(functionA());
}
Przy sporządzaniu tego przykładu, wyprowadza poprawną wartość 25. Jak to działa? Czy powinieneś usunąć zwróconą wartość na stosie (usuniętą ze stosu), gdy używasz tylko odniesienia do niej, czy zachowanie jest niezdefiniowane?
patrz standard C++ 11 12,2/4,5 dla efektu stałych odniesień obiektów tymczasowych – nijansen