[英]Example of = (assignment) being right-associative
=
赋值运算符的结合性在哪里会影响表达式? 我认为关联性与共享运算符的操作数有关,但在赋值的情况下,这将如何工作? 一些(可能)相关的例子是:
x = 1
x + 2 = y + 3 = z + 5
这是否只是意味着,在上面的作业中,我们将有:
y + 3 = z + 5
以前做过,例如:
x + 2 = y + 3
或者还有哪些其他场景可以让分配关联性“很重要”?
您的示例没有演示任何内容,因为只有当您有多个具有相同优先级(或相同的运算符)的运算符彼此相邻时,关联性才会发挥作用。
考虑x = y = 42
,它将两个变量都设置为 42。
由于右关联性,它被解析为x = (y = 42)
,其中y =...
返回y
的新值,即 42。
这就是它起作用的原因。 如果=
是左关联的并且它被解析为(x = y) = 42
,那么:
x =...
返回一个右值而不是左值,并且不能分配给那些。x = y; x = 42;
x = y; x = 42;
,这远非直观。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.