a++ 和 ++a

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoyilong2007101095/article/details/85293398

int a =1;

int c =a++;

a=1;

int d=++a;

c 等于1,d等于2。

这就是这两个东西在C/C++语言上面的区别。

之所以写这个,是我一直都听说的什么++a要快点,我也一直信着,直到有一天为什么快?

然后就写了代码,查看了汇编代码,发现汇编代码确实有区别

a++使用的是leal,++a使用的是movel,都是一条指令,都是一条指令!!

(更准确的说++a最后赋值的时候还多了一条movl指令)

扫描二维码关注公众号,回复: 5254159 查看本文章

一条指令的执行时间不一样吗?我不懂硬件设计,不敢妄下结论,但是我认为是没有区别的。

贴下源码和汇编代码,大家评论区各抒己见:

猜你喜欢

转载自blog.csdn.net/xiaoyilong2007101095/article/details/85293398
今日推荐