为了账号安全,请及时绑定邮箱和手机立即绑定

++ 和->的执行顺序

(p++)->x 为什么是先执行p->x然后执行p++?

正在回答

2 回答

因为(p++)的返回值是原始的值,执行完之后,p的值才变了的。我一直是这么理解的。

相关的问题可能具体的代码需要进行反汇编之后看汇编代码进行分析的。不同的编译器对代码有不同的优化。

个人感觉现在的++和--这个坑还是蛮大的。

0 回复 有任何疑惑可以回复我~

p++表示的是先使用p,在使用之后再进行++运算。

应该区分p++和++p的区别。

ps:多说一句,在一个表达式里面++,--使用多的话,只是给自己找麻烦。很多东西其实现在的编译器已经可以优化了的。很多时候,对于不是太底层的应用的话,逻辑清楚应该更重要。

0 回复 有任何疑惑可以回复我~
#1

慕田峪6958156 提问者

既然加了括号的话为什么不是先执行p++,再执行p->x呢
2016-03-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

++ 和->的执行顺序

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信