我只是在一些源代码中遇到了以下一行。
int sequ |= element.sequence
| =是什么意思?我以前没看过
=|
是一个复合赋值操作符,类似+=
,-=
,/=
,或*=
,但与按位或代替。
这等效于:
sequ = (int) (sequ | element.sequence);
其中|
,按位或运算是指将左操作数中的所有位与右操作数中的所有位独立进行或运算,以得到结果。如果element.sequence
已经是强制转换,则不需要强制转换int
。
注意:您的原始代码没有任何意义:
int sequ |= element.sequence
您不能在此声明,然后再将其声明,或将其与其他内容声明。它需要在之前声明和分配,例如:
int sequ = 0; /* or some other value */
sequ |= element.sequence;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句