local lvalue references-to-const 和 rvalue references 可以延长临时对象的生命周期:
const std::string& a = std::string("hello");
std::string&& b = std::string("world");
当初始化器不是一个简单的表达式而是使用条件运算符时,这是否也有效?
std::string&& c = condition ? std::string("hello") : std::string("world");
如果其中一个结果是临时对象,而另一个不是呢?
std::string d = "hello";
const std::string& e = condition ? d : std::string("world");
当条件为假时,C++ 是否要求延长临时的生命周期?
在回答这个关于不可复制对象的问题时出现了这个问题。