|= 是什么意思
What does |= mean
|= 在C++中是什么意思?我在网络上找到了这段代码:
DWORD CDirWatcherDlg::GetChangeFlags1()
{
DWORD dwChangeNotifyFlags = 0UL;
FLAG_INFO arFlagInfo[]={
{IDC_CHECK_FILE_NAME1, FILE_NOTIFY_CHANGE_FILE_NAME},
{IDC_CHECK_DIR_NAME1, FILE_NOTIFY_CHANGE_DIR_NAME},
{IDC_CHECK_LAST_WRITE1, FILE_NOTIFY_CHANGE_LAST_WRITE},
{IDC_CHECK_LAST_ACCESS1, FILE_NOTIFY_CHANGE_LAST_ACCESS},
{IDC_CHECK_SIZE1, FILE_NOTIFY_CHANGE_SIZE},
{IDC_CHECK_ATTRIBUTES1, FILE_NOTIFY_CHANGE_ATTRIBUTES},
{IDC_CHECK_LAST_WRITE1, FILE_NOTIFY_CHANGE_LAST_WRITE},
{IDC_CHECK_LAST_ACCESS1, FILE_NOTIFY_CHANGE_LAST_ACCESS},
{IDC_CHECK_CREATION1, FILE_NOTIFY_CHANGE_CREATION},
{IDC_CHECK_SECURITY1, FILE_NOTIFY_CHANGE_SECURITY}
};
for(int i = 0; i < sizeof(arFlagInfo)/sizeof(arFlagInfo[0]); ++i)
{
dwChangeNotifyFlags |= (IsDlgButtonChecked(arFlagInfo[i].nCtrlId) == BST_CHECKED)? arFlagInfo[i].nFlag : 0;
}
return dwChangeNotifyFlags;
}
我不明白这个功能是什么。
请问有人可以解释一下吗?
这意味着"按位 OR",它也用于 C,工作原理与 +=
相同
例如,假设我们有以下代码:
char o = 0xF0;
o |= 0x0F; //You can also write o = o|0x0F;
现在,o
具有以下值0xFF
:
1111 0000 | 0000 1111 = 1111 1111
让我们再试一次:
char o = 0xE1; //1110 0001
o |= 0x08; //0000 1000
现在o
是:
1110 0001 | 0000 1000 = 1110 1001
这是0xE9
这是按位 OR 赋值运算符。
int a, int b;
// assign some values to a and b
a |= b;
相当于
a = (a | b);
有关 C++ 中的按位运算符的详细信息,请参阅此处。
在您的代码中
dwChangeNotifyFlags |= (IsDlgButtonChecked(arFlagInfo[i].nCtrlId) == BST_CHECKED)? arFlagInfo[i].nFlag : 0;
表示如果 IsDlgButtonChecked(arFlagInfo[i].nCtrlId) == BST_CHECKED
为 true,则dwChangeNotifyFlags
与 arFlagInfo[i].nFlag
一起 OR'd,并将结果分配给 dwChangeNotifyFlags
。否则,dwChangeNotifyFlags
保持不变(因为它是 OR 和 0)。
相关文章:
- 这个语法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) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 当我们说在执行程序时将操作系统的控制权传递给main()函数时,我们的意思是什么
- 这句话在c++中的意思是什么
- 这个typedef的意思是什么
- 这句话的意思是什么
- 意思是什么
- 这个句法的意思是什么?