11

根据这个优先表逗号运算符是左结合的。也就是说,a, b, c被解析为(a, b), c. 这是必需品吗?不会a, (b, c)有完全相同的行为吗?

4

2 回答 2

13

由于存在可重载operator,,不,它不是相同的行为。a, (b, c)可以调用不同的重载(a, b), c

于 2012-12-23T11:32:26.000 回答
1

逗号运算符具有从左到右的关联性。用逗号分隔的两个表达式从左到右求值。总是计算左操作数,并且在计算右操作数之前完成所有副作用。

在某些情况下,逗号可以用作分隔符,例如函数参数列表。不要将逗号用作分隔符与用作运算符混淆;两种用途完全不同。

http://msdn.microsoft.com/en-us/library/zs06xbxh.aspx

于 2013-08-06T17:30:03.200 回答