什么是|意思?

m_pD3DDevice->SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE);

最佳答案

这是一个变量(可能是this的成员,因为m_*是命名约定):

m_pD3DDevice

这是一个方法调用
->SetFVF( ... )

这是两个标志常量的按位“或”运算,这是将它们组合在一起的一种方式:
D3DFVF_XYZ | D3DFVF_DIFFUSE

按位或运算从其操作数中获取每一对位的逻辑或功能。因此,例如给定值
D3DFVF_XYZ =     00000010 = 2
D3DFVF_DIFFUSE = 00010000 = 16
bitwise OR =     00010010 = 18

通常使用|组合各个位值的方式,意味着通常可以用普通的旧+代替它。

10-04 13:31