我试图找到以下问题的答案,但没有成功。 我有涉及位 AND 和位 OR(所有无符号长整型)的表达式:
A |= B & C
C++ 中的求值顺序是什么? 是A = A | (B & C)还是A = (A | B) & C?还是取决于编译器版本? 谢谢。
A = A | (B & C)
A = (A | B) & C
使用复合赋值运算符 (op=),表达式 E1 op= E2 变为 E1 = E1 op E21。这意味着对于您的代码,E1 是 A 并且 E2 是 B & C 所以结果是
op=
E1 op= E2
E1 = E1 op E2
E1
A
E2
B & C