等號前的垂直線是什麼意思?就像下面的代碼:C++垂直條?
UINT createDeviceFlags = 0;
#ifdef _DEBUG
createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif
等號前的垂直線是什麼意思?就像下面的代碼:C++垂直條?
UINT createDeviceFlags = 0;
#ifdef _DEBUG
createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif
這
createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
是複合賦值運營商實際上相當於
createDeviceFlags = createDeviceFlags | D3D11_CREATE_DEVICE_DEBUG;
where operator |意味着按位運算符OR。這是對這兩個操作數的所有位進行操作或應用。它通常用於在一個整體對象上設置一些位或標誌。
位或操作符的作用是繼
0 | 0 = 0
0 | 1 = 1
1 | 0 = 1
1 | 1 = 1
因此該語句集上對應設置標誌D3D11_CREATE_DEVICE_DEBUG也就是說這個標誌接通的位變量createDeviceFlags位。
的|
運算符是bitwise OR operator。
如同+
,-
,/
,和*
運營商,將所述|
操作者等號之前是的簡寫版本:
createDeviceFlags = createDeviceFlags | D3D11_CREATE_DEVICE_DEBUG;
看起來,有些人對於他們認爲應該永遠不會回答的問題回答了問題(無論答案是否可用)。 – PlasmaHH
我認爲有些人(不是我)低估了,因爲你沒有解釋操作符|意思。 –
@VladfromMoscow:你可能是對的。我猜想我被捲入了關於在等號之前放置什麼的問題。我已經更新了我的答案。 –