问答详情
源自:2-3 [C++]对象数组实践(二)

++ 和->的执行顺序

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

提问者:慕田峪6958156 2016-03-03 10:29

个回答

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

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

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

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

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

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

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

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