c++里面的左值和右值是怎么用的?

来源:百度知道 编辑:UC知道 时间:2024/09/21 06:48:46

左值是可以出现在=左边的值,否则该值为右值,是内存内某单元,应该说是在可写数据段。你自已定义的变量,或通过数组,指针,引用去表达的地方都可以是左值。
如:
a=3;//a是左值,而3不是,所以3=a不行。
a[6]=b;//a[6]是左值。
*a=c;//*a是左值。
在C++中,有的操作左值右值都可以,有的只能是左值,如++,--,=,op=,还有函数引用参数。引用类型是左值,如果你想用函数返回一个左值,那么要用&声明。如:
int & pow(int a)
return a*a
}
这样pow(3)++也可以,默认函数返回的是右值,是不可以++的。