我正在审查一些C ++代码,我偶然发现了这段代码:|=
我用Google搜索了这个,我无法找出它的含义 - 任何人都可以帮忙吗?
答案 0 :(得分:5)
x |= y
相当于x = x|y
,如果它们没有超载以执行其他操作。
这称为复合赋值:默认情况下,e1 op= e2
表单的行为为e1 = e1 op e2
。 (http://msdn.microsoft.com/en-us/library/aa245297(v=vs.60).aspx)
答案 1 :(得分:3)
foo |= bar;
在逻辑上等同于foo = foo | bar;
,其中|
是按位or
运算符或其重载。
答案 2 :(得分:3)
此运算符是x = x | RHS
的简写。条形运算符是按位或包含的。
答案 3 :(得分:1)
与
相同x = x | y;
按位或操作数。
答案 4 :(得分:1)
|
是按位OR运算。 |=
只是将变量的按位OR指定给LHS上的变量。