左值和右值的区别,右值是什么

定义:左值与右值的定义在于一个赋值等号,赋值等号左边成为左值,等号右边成为右值

左值(L-value):表示存储在计算机内存的对象,可寻址,相当于地址值

右值(R-value):代表的为真实值,可读,即数据值

因为左值是一个地址值,因此可以对左值进行赋值操作,而右值本身就是同一个数据值,就不存在对一个数据值就行赋值的操作。

例如:

int a,b;a=5;//为合法的操作,因为a是个地址值;b=a;//这个也是个合法操作,在这里b为地址值,a取其数据值即5(注意这里不是取地址值,因为a是作为一个右值)5=5;//这是一个非法操作,因为左值是个数据值,右值也是个数据值

转载出处:http://baike.baidu.com/view/9489098.htm

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注