在 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 递增后的值。

  • 打印这些值

更新于: 30-Jul-2019

821 次浏览

求职

完成课程即可获得认证

开始
广告