Pab*_*pez -2 c++ variable-assignment operator-keyword
我的问题是,C++中的"| ="是什么?我知道他们是按位运算符,但我不明白他们在这里做了什么:
gObj->Variable |= 0x1000000;
Run Code Online (Sandbox Code Playgroud)
另外,在这种情况下,"&"运算符是什么意思?
if ((gObj->Variable & 2) == 2)
{
do stuff
}
Run Code Online (Sandbox Code Playgroud)
这些是按位操作.
x |= y
Run Code Online (Sandbox Code Playgroud)
相当于
x = x | y
Run Code Online (Sandbox Code Playgroud)
将这些操作用于十六进制值是很常见的,因为它更容易且非常直观.例如:
0x10 | 0x01 = 0x11
0x10 & 0x01 = 0x00
0x10 & 0x11 = 0x10
Run Code Online (Sandbox Code Playgroud)