考虑代码:
const Resource& r = ResourceContainer("foo").myResource;
标准对myResource的生存期有何说明?
类似,但不确定是否等效:现在想象一下它是通过operator const Resource&()
隐式转换的。会有所不同吗?
const Resource& r = ResourceContainer("foo");
答案 0 :(得分:1)
https://en.cppreference.com/w/cpp/language/reference_initialization#Lifetime_of_a_temporary说:
无论何时将引用绑定到临时对象或其子对象,临时对象的生存期都会延长以匹配引用的生存期,但以下情况除外:
“其子对象”看起来像您的情况。