竖线 ( | ) 在C++中是什么意思
What does the vertical bar ( | ) mean in C++?
我的一本编程书中有这样C++代码:
WNDCLASSEX wndClass = { 0 };
wndClass.cbSize = sizeof(WNDCLASSEX);
wndClass.style = CS_HREDRAW | CS_VREDRAW;
单管道在C++窗口编程中有什么作用?
按
位或运算符。它将设置在提供的两个值中的任何一个中为真的所有位 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 */
}
另请参阅:
- 维基百科:按位运算(OR部分)
- 维基百科:掩码(计算)部分(常用位掩码函数)
|
称为按位OR运算符。
||
称为逻辑 OR 运算符。
在 C++20 中,它也可以是范围适配器闭合对象的管道操作员。即将范围内的操作链接在一起。在这里阅读更多关于它的信息: https://en.cppreference.com/w/cpp/ranges#Range_adaptor_closure_objects
它是一个
按位 OR 运算符。例如
if( 1 | 2 == 3) {
std::cout << "Woohoo!" << std::endl;
}
将打印Woohoo!
。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思