我想有一个标识符一次负责几个值.如果我有一个这是我能做的:
if (myVariable == IDENTIFIER)//instead of if(myVariable == 5 || myVariable == 7) if i need A LOT of values
[myObject doSomething];
Run Code Online (Sandbox Code Playgroud)
是否有可能以某种方式实施它?
我认为最接近的是使用位掩码,因此您可以使用具有所有值设置的掩码来表示允许值的集合:
const int ALL_VALUES = (1 << 5) | (1 << 7);
if ((1 << myVariable) & ALL_VALUES)
[myObject doSomething];
Run Code Online (Sandbox Code Playgroud)
在上面,逐位AND用于计算当前值(看作1位掩码)与所有允许值的掩码之间的交集.请注意,这仅在值的数量(及其实际值)小于a中的位数时才有效int.
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |