【发布时间】:2012-12-10 05:47:12
【问题描述】:
根据this precedence table,comma operator 是左关联的。也就是说,a, b, c 被解析为(a, b), c。这是必需品吗? a, (b, c) 不会有完全相同的行为吗?
【问题讨论】:
-
如果
a、b和c是不同的类型,并且每个重载,返回一个重载,的类型怎么办?(a,b),c与a,(b,c)不同。 -
您的评论与@Pubby 的回答有何不同?
-
不一定。还有,我后来也没来。只是没有刷新页面。
-
@AlexisWilke:你错了。在 C++ 中,未指定函数参数求值的顺序。因此可以按任何顺序对它们进行评估。
-
为什么它们是等价的?甚至
(a + b) + c和a + (b + c)也不能保证是等价的。 (出于准确性的原因,它们不在浮点运算中,在some exotic number systems 中,它们甚至应该)。
标签: c++ operators expression associativity comma-operator