C++ 逗號運算子



逗號運算子的目的是將多個表示式串聯在一起。逗號分隔的表示式列表的值是右側表示式的值。從本質上講,逗號的作用是導致一系列操作的執行。

其他表示式的值將被丟棄。這意味著右側的表示式將成為整個逗號分隔表示式的值。例如 -

var = (count = 19, incr = 10, count+1);

這裡首先將 count 的值賦為 19,將 incr 的值賦為 10,然後將 count 加 1,最後將 var 的值賦為最右側表示式的值,count+1,即 20。括號是必要的,因為逗號運算子的優先順序低於賦值運算子。

要檢視逗號運算子的效果,請嘗試執行以下程式 -

#include <iostream>
using namespace std;

int main() {
   int i, j;
   
   j = 10;
   i = (j++, j+100, 999+j);

   cout << i;
   
   return 0;
}

當以上程式碼編譯並執行時,它會產生以下結果 -

1010

以下是 i 的值如何計算的:j 從值 10 開始。然後 j 增加到 11。接下來,將 j 加到 100。最後,將 j(仍然包含 11)加到 999,得到結果 1010。

cpp_operators.htm
廣告