美文网首页iOS常识iOS 开发 iOS Developer
小谈x=x+1, x+=1, x++效率问题

小谈x=x+1, x+=1, x++效率问题

作者: shenyuanluo | 来源:发表于2016-08-27 20:44 被阅读104次

平常很多时候,对某一个int变量进行增加1时,往往会有很多种方式:

x = x + 1;
x+ = 1;
x++ ;

但是,哪一种方式比较好呢?换句话说,哪种方式效率会高一些?
x=x+1最低,因为它的执行过程如下:

  1. 读取右x的地址;
  1. 执行 x+1
  2. 读取左x的地址;
  3. 将右边计算后的值传给左边的x(编译器并不认为左右x的地址相同)。

x+=1其次,其执行过程如下:

  1. 读取左x的地址;
  1. 执行x+1
  2. 将计算得到的值传给x(因为x的地址已经读出)。

x++效率最高,其执行过程如下:

  1. 读取左x的地址;
  1. x进行自增1。

小结:x++效率最高。

相关文章

  • 小谈x=x+1, x+=1, x++效率问题

    平常很多时候,对某一个int变量进行增加1时,往往会有很多种方式: 但是,哪一种方式比较好呢?换句话说,哪种方式效...

  • x=x+1,x+=1,x++比较效率

    www.zybang.com/question/3e92b4f8684c98dac3a8912e12d6acaf....

  • js +1问题

    js中的x=x+1、x++最后得到的是字符串拼接结果 var x=1typeof(x+1) //’string’t...

  • 如何优化JS代码

    一、 让代码简洁:一些简略的表达方式也会产生很好的优化eg:x=x+1;在不影响功能的情况下可以简写为x++;二、...

  • 不要没事挑战i++和++i,比如x = x++;这种货!

    先上结论: x++和x+1不是一回事! 这个玩意没有优先级!!! 这种写法,是C标准严格禁止的。和伸手摸电门一样,...

  • 2019-07-01

    tep1}{\style{visibility:hidden}{(x+1)(x+1)}}$$

  • 22 - for Loops

    for(int x=1; x<10; x++) { cout << x << endl; }

  • js面试题(一)

    1, var x = 1, if ( function f() {} ){ x+=typeof f; ...

  • test

    ##zvfdsadf $$\sin^2 x+\cos^2 x=1$$

  • JS-"x++" 和 "x=x+1"完全一样吗?

    对JavaScript熟悉的程序员在写循环递增的时候,肯定会使用“++”操作符。但是“++”真的和“x=x+1”表...

网友评论

  • 58619cb35e0e:不要小看编译器优化啊。你说这些,有看过编译器输出的汇编吗?
  • Liu____:这怎么测

本文标题:小谈x=x+1, x+=1, x++效率问题

本文链接:https://www.haomeiwen.com/subject/lvdtettx.html