Какой лучший способ определить, является ли выражение rvalue или lvalue в С++? Вероятно, это не полезно на практике, но поскольку я изучаю rvalues и lvalues, я думал, что было бы неплохо иметь функцию is_lvalue
, которая возвращает true, если выражение, переданное во вводе, является lvalue и false в противном случае.
Пример:
std::string a("Hello");
is_lvalue(std::string()); // false
is_lvalue(a); // true