如果 a、b 和 k 是 int 类型并正确初始化,(a = b ) = k
是未定义的行为吗?
谢谢
最佳答案
在我看来是 UB。 a
被修改了不止一次 b/w 两个序列点。
(a=b)
的结果是一个左值1,它是对a
1 的结果 赋值操作是赋值发生后存储在左操作数中的值; 结果 是左值 ($5.17/1)。
关于c++ - 表达式 (a=b) = k UB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6166749/