const ref绑定到右值内部资源

时间:2019-02-23 18:15:41

标签: c++ c++11 temporary const-reference

考虑代码:

const Resource& r = ResourceContainer("foo").myResource;

标准对myResource的生存期有何说明?

类似,但不确定是否等效:现在想象一下它是通过operator const Resource&()隐式转换的。会有所不同吗?

const Resource& r = ResourceContainer("foo");

1 个答案:

答案 0 :(得分:1)

https://en.cppreference.com/w/cpp/language/reference_initialization#Lifetime_of_a_temporary说:

  

无论何时将引用绑定到临时对象或其子对象,临时对象的生存期都会延长以匹配引用的生存期,但以下情况除外:

“其子对象”看起来像您的情况。