const ref привязка к внутреннему ресурсу rvalue - PullRequest
0 голосов
/ 23 февраля 2019

Рассмотрим код:

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

Что стандарт говорит о времени жизни myResource?

Аналогично, но не уверен, что это эквивалентно: сейчаспредставьте, что он неявно конвертируется через operator const Resource&().Имеет ли это значение?

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

1 Ответ

0 голосов
/ 23 февраля 2019

https://en.cppreference.com/w/cpp/language/reference_initialization#Lifetime_of_a_temporary говорит:

Всякий раз, когда ссылка связана с временным объектом или его подобъектом, время жизни временного объекта увеличивается, чтобы соответствовать времени жизни ссылки, сследующие исключения:

«подобъект» выглядит как ваш случай.

...