在C ++中确定expression式是右值还是左值的最好方法是什么? 也许,这在实践中是没有用的,但是因为我正在学习右值和左值,所以我认为有一个函数is_lvalue将返回true,如果在input中传递的expression式是左值,否则返回false。 例: std::string a("Hello"); is_lvalue(std::string()); // false is_lvalue(a); // true
只是想知道一个文字string是一个左值还是右值。 其他文字(如int,float,char等)是左值还是右值? 函数的返回值是左值还是右值? 你怎么区分这个区别?