在 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 次瀏覽

求職

完成課程即可獲得認證

開始
廣告
© . All rights reserved.