Es ist mir nicht klar, ob die Lebensdauer eines temporären Objekt würde durch die Bindung an einen const-Referenz in ein erweitert werden: Ausdruck:Wird die Lebensdauer eines temporären C++ - Objekts in?: Expression erweitert, indem es an eine lokale const-Referenz gebunden wird?
class Foo {...};
Foo *someLValue = ...;
const Foo& = someLValue ? *someLValue : Foo();
Ist die Lebensdauer der erstellten temporären durch den Standard-Konstruktor aufrufen Foo() erweitert, indem es an den lokalen const ref gebunden wird, obwohl die Bindung bedingt ist? Oder erzeugt dies eine hängende Referenz, weil der temporäre Wert von Foo() am Ende des Ausdrucks?: Zerstört würde?