私はここにいくつかのコードがあります。私が前に見たことがない、C++で記号:| =
case MONITORTYPE_WUXGA_SXGA_WXGA:
bResult |= (var == enum1);
bResult |= (var == enum2);
は、今私は、そのがやって知っているが、私は知りません| =です。誰もそこに私に言うことができますか?
私はここにいくつかのコードがあります。私が前に見たことがない、C++で記号:| =
case MONITORTYPE_WUXGA_SXGA_WXGA:
bResult |= (var == enum1);
bResult |= (var == enum2);
は、今私は、そのがやって知っているが、私は知りません| =です。誰もそこに私に言うことができますか?
それはと同等です:a |= b
はa = a | b
を意味し、ちょうどa += b
ようa = a + b
を意味
bResult = bResult | (var == enum1);
。
ビット単位のORです。それはbResult = bResult | (value)
と同じ意味です。この場合、varがenum1またはenum2の場合、bResultをtrueに設定します。
比較演算子、関係演算子、ブール演算子を除くほとんどの2進演算子♢
では、対応する複合代入演算子♢=
が存在します。
つまり、|=
は、|
の単純な複合代入演算子です。その使用はなど、*=
+=
と完全に同等であるので、
a |= b;
// is equivalent to
a = a | b;
|
はビット単位またはオペレータです。 a |= b
はa = a | b
に等しい。ビット演算の
例 '&&'と '>' – sth
@sthくそーためのように、対応する割り当てを持っていない二項演算子もあります。私はそれから私の答えを修正します。 –
私は、適切な用語は代入演算子ではなく、[複合代入演算子](http://www.cplusplus.com/doc/tutorial/operators/)だと思います。 –