[С++, 17]
Когда выражение prvalue оценивается, стандарт говорит, что оно приводит к значению. В случае 5
выражение является предварительным значением и оценивается как значение 5
.
Однако, когда у вас есть значение, в основном инициализатор для объекта, такой как Foo{}
. Какова будет ценность этого выражения? Будет ли результат временным объектом, созданным преобразованием prvalue-xvalue? Это поднимает мой более широкий вопрос о разнице между ценностью и объектом.