++ 和->的执行顺序

来源:2-3 [C++]对象数组实践(二)

慕田峪6958156

2016-03-03 10:29

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

写回答 关注

2回答

  • 648940683
    2016-03-07 10:22:18

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

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

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

  • 648940683
    2016-03-03 11:03:05

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

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

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

    慕田峪695...

    既然加了括号的话为什么不是先执行p++,再执行p->x呢

    2016-03-07 10:09:30

    共 1 条回复 >

C++远征之封装篇(下)

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

70915 学习 · 514 问题

查看课程