在C++中,为什么前自增操作生成左值,后自增操作生成右值?为什么有这样的区别? .
来源:互联网 发布:网络吞吐量指标 编辑:程序博客网 时间:2024/05/21 06:44
左值意味着这个值是内存里一个可访问的地址,右值表示一个数据(可能没有确切的地址)
比如说 ++i 先将 i 所存放的数加一,再返回i,即&(++i)是有意义的,可以作为一个左值,而 i++ 将 i的值加一,并且返回没有增加前的i,(i++先保存i原来的 值 ,再将i的值加一, 然后返回未加一之前的 值)这个时候这个(i++)是一个数字,没有固定的存放地址,所以只能作为右值了.
所以:
(a++)+=a;表达式错误。
上式等价于:a++ = a + a;
(++a)+=a;表达式正确。
上式等价于:++a = a + a;
- 在C++中,为什么前自增操作生成左值,后自增操作生成右值?为什么有这样的区别?
- 在C++中,为什么前自增操作生成左值,后自增操作生成右值?为什么有这样的区别?
- 在C++中,为什么前自增操作生成左值,后自增操作生成右值?为什么有这样的区别? .
- 关于左值,右值,前自增操作符,后自增操作符
- C和C++中 自增自减(++ --) 操作符的左值 右值 属性不同
- C++为什么不叫++C?——浅谈前自增与后自增的区别
- C++为什么不叫++C?——浅谈前自增与后自增的区别
- 自增自减操作符在C与C++中的左值区别
- 自增自减前操作符与后操作符的区别
- python为什么不支持自增操作符
- 从重载自增操作符上理解前自增与后自增
- 后自增(减)的结果不是左值
- 为什么c语言中赋值表达式左值和右值不能调换位置
- 前自增与后自增到底啥区别?
- Java自增运算符和自减运算符,在变量前和变量后的区别。
- C/C++的左值和右值(转载自 水木社区 )
- 自增自减与左值
- 尽量使用前自增操作符
- easyui datagrid columns的field支持属性的子属性(field.sonfield形式或者格式化程序形式)
- 分布式文件系统之NFS AFS
- 栈操作
- 使用js对表格数据排序
- hadoop-0.20.0分布式部署
- 在C++中,为什么前自增操作生成左值,后自增操作生成右值?为什么有这样的区别? .
- 看的oracle数据库视频 记的一点笔记
- 【读书笔记】改变:问题形成和解决的原则
- 2013下半年 一些好的句子
- Android中Service介绍
- 黑马程序员--- 一个控制台应用程序,要求完成写列功能
- VERYARM
- java设计模式笔记
- 近年来学习的论坛和博客