私のプログラミング本の1つにこのC++コードがあります。
WNDCLASSEX wndClass = { 0 };
wndClass.cbSize = sizeof(WNDCLASSEX);
wndClass.style = CS_HREDRAW | CS_VREDRAW;
シングルパイプはC++ Windowsプログラミングで何をしますか?
ビット単位OR演算子。指定された両方の値のいずれかで真であるすべてのビットを真に設定します。
たとえば、CS_HREDRAW
を1、CS_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!
を出力します。