x++与(x++)
来源:互联网 发布:举牌制作软件 编辑:程序博客网 时间:2024/04/28 11:52
题目
int x = 4;int y = 4;x = (y++);cout<<x<<endl;
输出x为多少?
反汇编如下
int x = 4;013013DE mov dword ptr [x],4 int y = 4;013013E5 mov dword ptr [y],4 x = (y++);013013EC mov eax,dword ptr [y] 013013EF mov dword ptr [x],eax 先赋值013013F2 mov ecx,dword ptr [y] 再加1013013F5 add ecx,1 013013F8 mov dword ptr [y],ecx所以输出结果为4,括号在这里其实并不起作用。
我是这样理解的,由于y++的实现是返回一个临时变量,所以在自增之前值已经返回值用于赋值,所以自增对返回的值没有影响,因此结果和不加括号的y++是一样。
0 0
- x++与(x++)
- x++ 与 ++x
- 关于x++与++x
- x++与++x
- Tomcat6.x与7.x
- Android3.X 与 2.X
- %02x与%2x
- x--与--X的区别
- set -x 与 set +x
- x:Name与x:Key
- set -x 与 set +x
- x&(x-1)
- x&(x-1)
- 卡尔曼滤波应用与讲解(x未完成x)
- Hibernate下创建SessionFactory(hibernate3.x与hibernate4.x)
- GDAL编译(2.x与1.x版本通用)
- python3.x与python2.x的不同(一)
- GDAL编译(2.x与1.x版本通用)
- Flex 弹性布局
- Retrofit初了解
- JavaScript变量作用域
- jvm学习一
- label标签
- x++与(x++)
- 牛人博客——站在牛人的肩膀上
- Centos 7系统下的vim配置
- Spring学习笔记
- 1057. 数零壹(20) python篇
- rails has_secure_password
- Django问题系列解决:后台header“Django Administrator”修改为自定义
- 自定义Jackson
- [模板]次小生成树