没有合适的资源?快使用搜索试试~ 我知道了~
左值和右值
资源推荐
资源详情
资源评论
我们在看书的时候,经常可以看到关于 左值(L-value) 和 右值(R-value) 的概念,那么到底什么是左值,什么是右值,它们之间的区别又是在哪里呢?
通俗的讲,左值就是能够出现在赋值符号左面的东西,而右值就是那些可以出现在赋值符号右面的东西了。
举个很简单的例子:
a=b+100;
那么这里a就是左值,b+25就是一个右值。左值和右值之间是不一定都能互换的,上面的这个例子就是不能互换的,如果写成
b+100=a;
大家都能看出来这样写会不编译通过的,因为编译器无法判断b+100的内存地址,所以不能操作。
看了这个例子,可以做一个总结,左值必须应该是一个变量或者是表达式等,但是它的物理位置是可以确定的,而右值不一定,这也是它们两者之间的区别。
关于左值是表达式的例子有数组,还有指针这些都可以。
int array[10];
int a=5;
array[a+3]=10; //这里左值就是一个数组表达式了
此文完。
通俗的讲,左值就是能够出现在赋值符号左面的东西,而右值就是那些可以出现在赋值符号右面的东西了。
举个很简单的例子:
a=b+100;
那么这里a就是左值,b+25就是一个右值。左值和右值之间是不一定都能互换的,上面的这个例子就是不能互换的,如果写成
b+100=a;
大家都能看出来这样写会不编译通过的,因为编译器无法判断b+100的内存地址,所以不能操作。
看了这个例子,可以做一个总结,左值必须应该是一个变量或者是表达式等,但是它的物理位置是可以确定的,而右值不一定,这也是它们两者之间的区别。
关于左值是表达式的例子有数组,还有指针这些都可以。
int array[10];
int a=5;
array[a+3]=10; //这里左值就是一个数组表达式了
此文完。
资源评论
猿声依旧
- 粉丝: 1
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功