在 C++ 中的 i++ 和 ++i 在性能方面是否有差异?
++ 的后缀版本和前缀版本之间存在很大差异。
在前缀版本中(即 ++i),i 的值会递增,表达式采用 i 的新值。所以它基本上先递增再给表达式赋值。
在后缀版本中(即 i++),i 的值会递增,但表达式的值采用 i 的原始值。所以它基本上先给表达式赋值再递增变量。
让我们来看看一些代码以加深理解。
示例代码
#include<iostream> using namespace std; int main() { int x = 3, y, z; y = x++; z = ++x; cout << x << ", " << y << ", " << z; return 0; }
输出
5, 3, 5
让我们详细看看
对 x 初始化为 3
赋值 y 为我们通过计算表达式 x++ 而获得的值,即先对 x 递增再赋值给 x。
先对 x 递增再赋值 z 为我们通过计算表达式 ++x 而获得的值,即对 x 递增后的值。
打印这些值
广告