标签: c++ enums
假设我有一个enum,其64个条目超过(verify & (ENUM_ONE | ENUM_TWO)),我想指定十六进制值,以便更轻松地进行比特黑客比较,例如unsigned long int。由于enum甚至不够,如果我使用普通ENUM_ZERO = 0值(如ENUM_ONE = 1,(verify & ((1<<ENUM_ONE) | (1<<ENUM_TWO)))等),然后使用{{1 }}?根据我的理解,位移变得便宜,看起来我设法避免条件,但代码呢?
enum
64
(verify & (ENUM_ONE | ENUM_TWO))
unsigned long int
ENUM_ZERO = 0
ENUM_ONE = 1
(verify & ((1<<ENUM_ONE) | (1<<ENUM_TWO)))