0

我刚刚在一些源代码中遇到了以下行。

int sequ |= element.sequence

运算符 |= 是什么意思?我以前没见过。

4

2 回答 2

4

=|复合赋值运算符,类似于+=, -=, /=, or *=,但使用按位 OR 代替。

这相当于:

sequ = (int) (sequ | element.sequence);

其中|是按位或运算,这意味着它将左操作数中的所有位与右操作数中的所有位独立地进行或运算,以获得结果。如果element.sequence已经是int.

注意:您的原始代码没有意义:

int sequ |= element.sequence

你不能在那里然后和或它与其他东西声明它。它需要在之前声明和分配,例如:

int sequ = 0; /* or some other value */
sequ |= element.sequence;
于 2013-09-04T11:12:33.527 回答
2

它是以下形式的缩写:

int sequ  = sequ | element.sequence;

Similar to +=, -= except that it is bitwise OR operator.

于 2013-09-04T11:13:33.923 回答