到目前为止,逗号运算符常见的用途是将两个或多个表达式放到一个for循环表达式中。不过C++ 还为这个运算符提供了另外两个特性。首先,它确保先计算第一个表达式,然后计算第二个表达式(换句话说,逗号运算符是一个顺序点)。
如下所示的表达式是安全的:
i = 20, j = 2 * i // i set to 20, then j set to 40
其次,C++规定,逗号表达式的值是第二部分的值。例如,m表达式的值为40,因为j = 2*i的值为40。 在所有运算符中,逗号运算符的优先级是最低的。
例如,下面的语句:
cats = 17,240;
被解释为:( cats = 17 ) ,240;
也就是说,将cats设置为17, 240不起作用。然而,由于括号的优先级最高
下面的表达式将把cats 设置为 240—逗号右侧的表达式值:
cats = (17,240);