我有一组可用的enumed选项
typdef enum {
option1 = 1 << 0,
option2 = 1 << 1,
option3 = 1 << 2,
} availableOptions;
我希望在执行之前根据用户的输入将它们关闭和打开。
例如:
// iniatially set to all options
myOption = option1 | option2 | option3;
//来自用户的一些输入
void toggleOption1()
{
// how can I toggle an option that was already set without impacting the other options
}
答案 0 :(得分:7)
使用逐位异或:
void toggleOption1()
{
myOption ^= option1;
}
插入符号^
是按位的XOR运算符。声明:
a ^= b;
仅翻转a
中b
中相应位的位。所有其他位都保持不变。