我不清楚临时对象的生命周期是否会通过将其绑定到 ?: 表达式中的 const 引用来延长:
class Foo {...};
Foo *someLValue = ...;
const Foo& = someLValue ? *someLValue : Foo();
通过调用默认构造函数 Foo() 创建的临时对象的生命周期是否通过将其绑定到本地 const ref 来扩展,即使绑定是有条件的?或者这是否会创建一个悬空引用,因为 Foo() 的临时值将在 ?: 表达式的末尾被破坏?
我不清楚临时对象的生命周期是否会通过将其绑定到 ?: 表达式中的 const 引用来延长:
class Foo {...};
Foo *someLValue = ...;
const Foo& = someLValue ? *someLValue : Foo();
通过调用默认构造函数 Foo() 创建的临时对象的生命周期是否通过将其绑定到本地 const ref 来扩展,即使绑定是有条件的?或者这是否会创建一个悬空引用,因为 Foo() 的临时值将在 ?: 表达式的末尾被破坏?