我已經使用了雙垂直「||」作爲布爾「或」運算符。並看到「|」是按位還是。「|」的確切功能是什麼? (垂直線)運算符時分隔參數
但是,由於我已經開始使用C++/cli,我注意到它用於使用單個參數來分隔函數中的標誌,這些參數似乎接受多個標誌。
一個例子是msdn的MessageBox()函數的例子。
int msgboxID = MessageBox(
NULL,
(LPCWSTR)L"Resource not available\nDo you want to try again?",
(LPCWSTR)L"Account Details",
MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2
);
什麼是由「|」執行的操作。這裏?
什麼是「|」符號實際上叫? (就像「^」被稱爲脫字符號而不是我之前所知道的那樣,它是「顛倒的V」):D
我問的原因是我使用函數setWindowPos( ),它也接受標誌作爲參數。函數聲明如下:
BOOL WINAPI SetWindowPos(
_In_ HWND hWnd,
_In_opt_ HWND hWndInsertAfter,
_In_ int X,
_In_ int Y,
_In_ int cx,
_In_ int cy,
_In_ UINT uFlags
);
而且我想知道是否可以像在MessageBox()中一樣組合標誌。
由於提前,
蓋伊
這是邏輯或操作符。 –
@TioPepe不,不是,它是_bitwise_或操作員! – zennehoy
我的猜測是'MB_ICONWARNING','MB_CANCELTRYCONTINUE','MB_DEFBUTTON2'是在代碼的某處定義的宏,'|'是應用於這些宏的按位或運算符。 –