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 的值。
  •  打印这些值

更新于: 2023-09-08

33K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告