i = i + 1 和 ++i 之间的速度比较

Qua*_*ool 1 c++ increment c++11

i = i + 1不是快++i了C ++ 11?我听说++ii++类快,但不是简单类型。i = i + 1和其他两个之间有类似的比较吗?
谢谢!

编辑 1:我使用 g++,但我很高兴知道这在其他编译器上是如何工作的。
编辑2:这个问题是不同的这一个,因为它专门询问i = i + 1,而不是只是在谈论之间的差异++ii++

EDIT 3:(TonyD -由QuantumFool语法编)的i = i + 1问题的方面是重复

Adr*_*hum 5

除了您使用的编译器之外,它还取决于您使用的优化设置。如果你想知道,反汇编它,看看特定编译器+优化设置的编译结果。

然而,至少有一些事情是正确的:

  1. i++ 不会比 i = i+1
  2. ++i不会比i++你只做增量慢。
  3. ++i如果可能的话,即使对于简单类型,也总是首选编写。不是因为性能,而是为了建立良好的实践,这样您在++处理某个对象时就无需三思而后行。