C++ 逗号运算符


C++ 逗号运算符

使用逗号运算符的为了把几个表达式串在一起。整个逗号表达式的值是以逗号分隔的列表中的最后一个表达式的值。从本质上讲,逗号的作用是导致一系列运算被顺序执行。

最右边的那个表达式的值将作为整个逗号表达式的值,其他表达式的值会被丢弃。例如:

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

在这里,首先把 count 赋值为 19,把 incr 赋值为 10,然后把 count 加 1,最后,把最右边表达式 count+1 的计算结果 20 赋给 var。上面表达式中的括号是必需的,因为逗号运算符的优先级低于赋值操作符。

尝试运行下面的实例,理解逗号运算符的用法。

实例

#include <iostream> using namespace std;
int main() {
  int i, j;
  j = 10;
  i = (j++, j+100, 999+j);
  cout << i;
  return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

1010

上面的程序中,j 最初的值为 10,然后自增到 11,接着再加上 100,最后 j 再加上 999,得出结果 1010。