课程
/后端开发
/C++
/C++远征之封装篇(下)
(p++)->x 为什么是先执行p->x然后执行p++?
2016-03-03
源自:C++远征之封装篇(下) 2-3
正在回答
因为(p++)的返回值是原始的值,执行完之后,p的值才变了的。我一直是这么理解的。
相关的问题可能具体的代码需要进行反汇编之后看汇编代码进行分析的。不同的编译器对代码有不同的优化。
个人感觉现在的++和--这个坑还是蛮大的。
p++表示的是先使用p,在使用之后再进行++运算。
应该区分p++和++p的区别。
ps:多说一句,在一个表达式里面++,--使用多的话,只是给自己找麻烦。很多东西其实现在的编译器已经可以优化了的。很多时候,对于不是太底层的应用的话,逻辑清楚应该更重要。
慕田峪6958156 提问者
举报
封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通