lvalue, prvalue, xvalue
Вопрос
Дайте примеры lvalue, prvalue и xvalue.
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Ответ
lvalue: x, arr[i], *p, std::cout, вызов функции, возвращающей T&, именованная T&&.
prvalue: 42, a + b, T{}, вызов функции, возвращающей T по значению, this.
xvalue: std::move(x), static_cast<T&&>(x), вызов функции, возвращающей T&&, член xvalue-объекта.
Разбор
lvalue: x, arr[i], *p, std::cout, вызов функции, возвращающей T&, именованная T&&.
prvalue: 42, a + b, T{}, вызов функции, возвращающей T по значению, this.
xvalue: std::move(x), static_cast<T&&>(x), вызов функции, возвращающей T&&, член xvalue-объекта.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.