全部评论
两种的写法都是是i加1,但是i = i + 3计算出右值后会存入一个临时变量然后赋给左侧的 i, 而i += 3是在 i 本身上做计算, 所以效率会有一点点提升。
楼上正解…但我想说在编译器那都会优化成i+=3,所以其实考虑这些东西挺无聊的
没什么意思,学计算机纠结这些底层语句就是误入歧途了。
应该从汇编解释把,不懂汇编。 但是如果只是一条语句,我会写i += 3,不是他快不快(其实编译器对于i = i+3也做了优化了吧),只是为了显示代码“大气”。。就和构造函数中初始化和赋值的问题,在功能看起来一样,但是看起来就是舒服。
直接看看汇编代码不就行了吗
应该说绝大多数人的编程水平还达不到需要考虑这些问题的时候。
+= 和=+是不同的两种写法。+=内部会自己进行优化,你可以进行1000000个数进行相加,看下最后跑出来的时间是否一样
只要编译器不蠢就无差异。 实际工作建议写后者。
g++ -O2选项生成的汇编代码没有任何区别。
现代编译器的优化程度,这点小case没问题的
考虑这个没什么意义
感谢大家🤔
我测试过。
被优化成一样
这两个本质上是不同的操作,如果你有操作符重载的话,差别可能会很大,比如字符串
相关推荐