【发布时间】:2013-11-30 13:02:41
【问题描述】:
大多数编程语言都有一个二元运算符的优先级和关联性表。在某些情况下,关联性很重要,例如(a - b) - c != a - (b - c).
但是,对于像 && 这样的关联运算符,这似乎无关紧要,但大多数语言将其列为左关联。
(a && b) && c 和 a && (b && c) 之间是否存在实际差异?
【问题讨论】:
-
想想当
a、b和c是具有副作用的函数时会发生什么。 -
@Juhana:会发生什么?据我所知,没有什么不同。
-
@Mehrdad,副作用会改变评估结果,导致不同的结果。
-
@Juhana:这是一个完全不同的论点,我们不要混淆它们。你是对的,为
&&定义不同的定义是没有用的...但是这在技术上没有任何问题。我的观点只是它们不会影响评估顺序。
标签: c syntax programming-languages operators associativity