Przedłużenie żywotności i operator warunkowy
odwołania do lokalnej wartości l-const i referencji r mogą zwiększyć żywotność tymczasowych:
const std::string& a = std::string("hello");
std::string&& b = std::string("world");
Czy to działa również, gdy inicjator nie jest prostym wyrażeniem, ale używa operatora warunkowego?
std::string&& c = condition ? std::string("hello") : std::string("world");
Co jeśli jeden z wyników jest obiektem tymczasowym, a drugi nie?
std::string d = "hello";
const std::string& e = condition ? d : std::string("world");
Czy C ++ wymaga przedłużenia czasu życia tymczasowego, gdy warunek jest fałszywy?
Pytanie pojawiło się podczas odpowiadaniato pytanie o obiektach, których nie można skopiować.