C++ 中的左值和右值是什么?


左值(定位值)表示占据内存中某个可识别位置的对象(即具有地址)。

右值通过排除定义。每个表达式要么是左值,要么是右值,所以右值是不表示占据内存中某个可识别位置的对象的表达式。

例如,分配期望左值作为其左操作数,因此以下内容有效 −

int i = 10;
But this is not:
int i;
10 = i;

这是因为i在内存中有地址,并且是左值。而 10 没有可识别的内存位置,因此是右值。所以将i的值赋值给 10 没有意义。


更新日期:11-Feb-2020

3K+ 视图

点亮您的 事业

完成课程认证

开始
广告