Протягивают ли нестатические поля типа эталонного типа Const LVALUE на срок службы временного? [дублировать]C++

Программы на C++. Форум разработчиков
Anonymous
Протягивают ли нестатические поля типа эталонного типа Const LVALUE на срок службы временного? [дублировать]

Сообщение Anonymous »

Первоначально, для меня ответ был очевиден. Тем не менее, я наткнулся на ответ, объясняющий временные привязки с постоянными ссылками на LVALUE, в котором указывается следующее: < /p>

Это относится только к ссылкам на основе стека. Это не работает для
ссылок, которые являются членами объектов. Однако я попробовал следующий кусок кода: < /p>
#include

struct Referred final {
~Referred()
{
std::cout
The temporary is alive here!
Referred dtor called!
< /code>
Мне удалось найти заметку в стандарте, которая не отвечает на вопрос явно, но намекает на утвердительный ответ: < /p>

Если временный объект имеет ссылочный член -член -член -член -инициализированным < /> временным объектом, продюсируемое время жизни. /> < /blockquote>
Возможно, в стандарте есть что -то еще, что ускользнуло от моего внимания. Я хотел бы прояснить навсегда: Поля нестатических объектов постоянного типа ссылки LVALU>

Подробнее здесь: https://stackoverflow.com/questions/795 ... ime-of-a-t

Вернуться в «C++»