私のプログラミング本の 1 つに次の C++ コードがあります。
WNDCLASSEX wndClass = { 0 };
wndClass.cbSize = sizeof(WNDCLASSEX);
wndClass.style = CS_HREDRAW | CS_VREDRAW;
C++ Windows プログラミングで単一パイプは何をしますか?
ビットごとの OR 演算子。指定された両方の値のいずれかが true であるすべてのビットを true に設定します。
たとえば、CS_HREDRAW
1CS_VREDRAW
の場合も 2 の場合もあります。ビットごとの AND 演算子を使用して、それらが設定されているかどうかを確認するのは非常に簡単&
です。
#define CS_HREDRAW 1
#define CS_VREDRAW 2
#define CS_ANOTHERSTYLE 4
unsigned int style = CS_HREDRAW | CS_VREDRAW;
if(style & CS_HREDRAW){
/* CS_HREDRAW set */
}
if(style & CS_VREDRAW){
/* CS_VREDRAW set */
}
if(style & CS_ANOTHERSTYLE){
/* CS_ANOTHERSTYLE set */
}
以下も参照してください。
|
はビットごとのOR 演算子と呼ばれます。
||
を論理 OR 演算子と呼びます。
これはビットごとの OR 演算子です。例えば、
if( 1 | 2 == 3) {
std::cout << "Woohoo!" << std::endl;
}
印刷されますWoohoo!
。