Was im folgenden Fall geschehen soll:Passing Rückgabewert einer Funktion als Referenz
int functionA() {
return 25;
}
void functionB(const int& ref) {
cout << ref << endl;
}
void start() {
functionB(functionA());
}
Wenn dieses Beispiel kompilieren, gibt es den richtigen Wert 25. Wie funktionierts? Soll der referenzierte Rückgabewert auf dem Stapel nicht gelöscht (aus dem Stapel entfernt) werden, wenn nur ein Verweis darauf verwendet wird, oder ist das Verhalten nicht definiert?
siehe C++ 11 Standard 12.2/4,5 für die Wirkung von konstanten Referenzen von temporären Objekten – nijansen