++ i与i ++:现代编译器有什么区别吗?

Nek*_*ios 3 c c++ compiler-construction

可能重复:
在C++中i ++和++ i之间是否存在性能差异?

我明白那个:

i++;
Run Code Online (Sandbox Code Playgroud)

应该采取更多的指示

++i;
Run Code Online (Sandbox Code Playgroud)

因为它生成了一个你不需要使用的中间结果,所以人们把"++ i"放在对中间结果毫无用处的代码行上.

但是,编译器非常聪明,他们可以判断结果是否被使用.他们可以说出各种各样的事情.但它们并不神奇

所以我很好奇 - 在现代编译器上确实选择了另一种实际问题,或者它是否只是简单地编译成相同的机器代码?

Tho*_*mas 9

在使用它时无关紧要int.但是,当使用迭代器或其他重载的对象时operator++,它可能仍会有所不同.