我在我的一本编程书中有这个C ++代码:
WNDCLASSEX wndClass = { 0 };
wndClass.cbSize = sizeof(WNDCLASSEX);
wndClass.style = CS_HREDRAW | CS_VREDRAW;
单管在C ++ windows编程中做了什么?
答案 0 :(得分:22)
按位OR运算符。它将所有位都设置为true,这两个值都提供。
例如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 */
}
另见:
答案 1 :(得分:9)
|
被称为bitwise OR operator。
||
被称为逻辑OR运算符。
答案 2 :(得分:4)
这是一个按位OR运算符。例如,
if( 1 | 2 == 3) {
std::cout << "Woohoo!" << std::endl;
}
将打印Woohoo!
。