c++ - 表达式 (a=b) = k UB?

标签 c++ expression undefined-behavior

如果 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/

相关文章:

c++ - 我可以使用 LLVM 来加速构建并减少 GCC 编译时间吗?

c++ - 在八叉树数组上调用删除

language-agnostic - 表达与陈述

c# - 修改 "dd/MM/yyyy"的正则表达式

c# - 如何设置局部变量memberExpression值

c++ - 是否在嵌入的空终止符 UB 之后访问字符串的一部分?

c++ - 是否可以继承接口(interface)的实现

c++ - 如何命名不同级别的相似方法?

c - C 中意外的位移行为

c - SSE2 有符号整数溢出未定义吗?