Tag:

如何以编程方式确定在C ++中expression式是右值还是左值?

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

文字string和函数返回值是左值还是右值?

只是想知道一个文字string是一个左值还是右值。 其他文字(如int,float,char等)是左值还是右值? 函数的返回值是左值还是右值? 你怎么区分这个区别?