Если бы я хотел представить состояния или параметры или что-то подобное, используя двоичные «флаги», чтобы я мог передать их и сохранить их в объекте типа OPTION1 | OPTION2
, где OPTION1
равно 0001 и OPTION2
равно 0010, так передается значение 0011, представляющее собой набор опций.
Как бы я сделал это в C ++? Я думал что-то вроде
enum Option {
Option_1 = 0x01,
Option_2 = 0x02,
Option_3 = 0x04,
//...
}
void doSomething(Option options) {
//...
}
int main() {
doSomething(Option_1|Option_2);
}
Но в идеале doSomething
знает, как интерпретировать данную опцию.
Я на правильном пути? Есть ли способ лучше?
Обновление
И разве мне не придется определять Option
для каждой возможной комбинации, также?