C++語法問題
回答
這是一個變量(可能指的是this
成員,如m_*
是一個命名約定):
m_pD3DDevice
這是一個方法調用
->SetFVF(...)
這在兩個標誌常量的按位或運算,這是將它們組合在一起的一種方式:
D3DFVF_XYZ | D3DFVF_DIFFUSE
按位OR從其操作數獲取每對比特的邏輯或功能。因此,例如給定的值
D3DFVF_XYZ = 00000010 = 2
D3DFVF_DIFFUSE = 00010000 = 16
bitwise OR = 00010010 = 18
的方式,|
通常使用單個位值相結合,意味着它可以經常與普通的舊+
所取代。
這是一個按位或功能。
D3DFVF_XYZ
和DFDFVF_DIFFUSE
是最可能的掩碼。
例如:
0x01 | 0x08 = 0x09
+1回答OP的真正問題。 – 2010-10-03 22:33:06
m_pD3DDevice
這可能是一個部件的數據,其類型爲指針(可能到名爲D3DDevice的類)。
->
這意味着 「取消引用指針」
SetFVF
這是一種構件方法(D3DDevice類的)。
D3DFVF_XYZ | D3DFVF_DIFFUSE
這是一個傳遞給SetFVF方法的參數值(可能是一對位值)。
「|」是「按位或」運算符。當它在代碼示例中使用時,它會告訴被調用的庫函數您想要啓用多個選項。換句話說,你在說你想要D3DFVF_XYZ和D3DFVF_DIFFUSE。
使用「按位或」表示「AND」可能有點違反直覺。這是按位邏輯與二進制數字值一起工作的一種人爲因素。您不需要知道這兩個常量的實際值,但您應該明白它們是二進制值,每個值都設置爲1(每個都使用不同的位)。當您使用按位或運算符來組合這些值時,結果值的兩個位均已設置。該庫可以輕鬆評估結果以確定您想要的選項。如果您使用「按位AND」運算符「&」而不是「按位或」,則表達式的結果將爲零 - 表示錯誤的信息。
這是配置軟件庫的常用方法。
- 1. C++語法問題
- 2. C++語法問題
- 3. C++語法問題
- 4. C#語法問題
- 5. C結構語法問題
- 6. 問題有關C語法
- 7. A C#語法問題
- 8. Objective C語法問題
- 9. Objective-C語法問題
- 10. Objective-C的語法問題
- 11. MSP430語法:Assembly&C問題
- 12. Objective-C的語法問題
- 13. 基本C#語法問題
- 14. C#示例語法問題
- 15. Obj-C/AppleScript語法問題
- 16. VB.NET - > C#語法問題
- 17. C++朋友語法/語義問題
- 18. C++模板方法的語法問題
- 19. 語法問題
- 20. 語法問題
- 21. c語言問題
- 22. Objective-C語法初學者問題
- 23. C#語法鎖 - 2個問題
- 24. C++。傳遞給函數。語法問題
- 25. 關於GetElementsByTagName的CLR C++語法問題
- 26. 初學者的Objective-C語法問題
- 27. Objective-C不同的語法問題
- 28. iPhone SDK/Objective C的語法問題
- 29. 關於C語法的一些問題
- 30. C++ 11問題regex_search和ECMAScript語法
「這是一個變量」。從名字來看,很可能是一個類的數據成員,並且代碼出現在該類的成員函數中。 – 2010-10-03 22:30:15
@Steve:是的,已更新。 – Potatoswatter 2010-10-03 22:31:09
但你仍然沒有解釋什麼是按位或OR :) – ruslik 2010-10-03 22:34:48