[英]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.