int a =1;

int c =a++;

a=1;

int d=++a;

c 等于1,d等于2。

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

 

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

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

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

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

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

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

a++ 和 ++a

a++ 和 ++a

 

相关文章:

  • 2021-08-24
  • 2021-05-07
  • 2021-05-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-28
  • 2021-05-27
猜你喜欢
  • 2021-08-03
  • 2022-12-23
  • 2021-11-21
  • 2021-08-18
  • 2021-11-10
  • 2022-12-23
  • 2021-04-18
相关资源
相似解决方案