|=
is the bitwise OR assignment operator. Basically, a |= b
means a = a | b
.
Please check this Wikipedia article for a list of all such compound assignment operators.
For here, the exact meaning of the whole statement someVar |= functioncall(parameter);
is:
- Compute the return value of
functioncall(parameter)
and then,
- Do bitwise OR on the return value and the original value of
someVar
,
- And finally assign the result of the bitwise OR to
someVar
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…