在C++中,为什么前自增操作生成左值,后自增操作生成右值?为什么有这样的区别?
来源:互联网 发布:已备案域名更换服务器 编辑:程序博客网 时间:2024/05/16 08:02
左值意味着这个值是内存里一个可访问的地址,右值表示一个数据(可能没有确切的地址)
比如说 ++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++的左值和右值(转载自 水木社区 )
- 自增自减与左值
- 尽量使用前自增操作符
- vc调试技巧(z)
- 压力太大了...
- CentOS 5.4搭建APACHE+PHP+MYSQL平台
- 用python编写程序游戏——号码球
- 编程中要解决的问题(持续更新中)
- 在C++中,为什么前自增操作生成左值,后自增操作生成右值?为什么有这样的区别?
- 使用 C++ 处理 JSON 数据交换格式
- 快速理解C#委托和事件之间关系的伪代码
- 做单:第六章 撤退的销售
- NKU 1134 Relation Ordering 【dp】
- ibatis懒加载导致对象json化失败,ibatis和hibernate的懒加载对比
- 实习日志(一)
- 存储过程和函数
- 操作系统学习笔记(36)-CRC码