什么是| =意味着什么?

时间:2013-07-22 15:01:45

标签: c++

我正在审查一些C ++代码,我偶然发现了这段代码:|=

我用Google搜索了这个,我无法找出它的含义 - 任何人都可以帮忙吗?

5 个答案:

答案 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上的变量。