我想通过位掩码来跟踪一些选项,并从这个答案中借用位掩码值,但它们似乎不能一起工作。
#include <iostream>
#define OP1 0x00003FFFUL
#define OP2 0x00007FFFUL
#define OP3 0x0000FFFFUL
int main() {
unsigned long params = 0; // .
params |= OP3;
if ( (params & OP1) == OP1)
std::cout << "Whoa. Lame masking\n";
}
是类型问题,还是这种方法不能用于一次持有多个选项(OP1、OP2 和 OP3 都希望保持不变params
)?