Согласно CppReerference, категория значения условного оператора в C ++ зависит от категорий операндов, а именно: если оба операнда являются Lvalues, то условный оператор также является LValue, в противном случае это RValue. < /p>
Я проверил это утверждение, используя следующий код: < /p>
#include
struct S {
S() = default;
S(S&) {
std::cout
Подробнее здесь: https://stackoverflow.com/questions/797 ... l-operator