大家。我的问题是,在c++中,为什么赋值表达式“a =(b = 4)= 3”是正确的?我知道b = 4的返回值为4,但是为什么又可以将其赋值为3?它仍然是变量吗?谢谢。

最佳答案

b = 4返回对b的引用。 a=(b=4)=3b = 4; b = 3; a = 3;相似。 a=(b=4)=3的程序集是

mov     dword ptr [rbp - 8], 4
mov     dword ptr [rbp - 8], 3
mov     dword ptr [rbp - 4], 3

你可以看到它here

关于c++ - 如何理解赋值表达式 “a=(b=4)=3”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59122220/

10-14 07:57