Re[4]: Reference binding in C++23 - bug of gcc?
От: rg45 СССР  
Дата: 31.01.25 21:12
Оценка:
Здравствуйте, Великий Реверс, Вы писали:

ВР>если получаем левую ссылку как аргумент, то вернуть можем ее только как левую

ВР>если получаем правую ссылку как аргумент, то вернуть можем ее только как правую

Это какие-то догмы, а не правила. Время жизни временного объекта гарантируется до конца полного выражения и rvalue-lvalue преобразование не противоречит ровным счётом ни чему. А пользу принести может.

Например, вывод в файл может быть сделан одним выражением, без заведения дополнительных локальных переменных:

    lvalue(std::ofstream("data.json")) << data;
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 31.01.2025 21:18 rg45 . Предыдущая версия . Еще …
Отредактировано 31.01.2025 21:16 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.