C++中字首運算子和字尾運算子的區別是什麼?


在字首版本(即 ++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 值。
  • 列印這些值

更新於:2020年2月11日

2K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.