| =在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;
}
我不知道此功能是什么。
有人可以解释一下吗?
这意味着“按位或”,它也用在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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句