Нет, вам не нужно использовать массив или вектор, но вам нужно побитовое сравнение.
Первый шаг - установить для числового значения каждого флага экспоненциальное значение 2 (например, 1,2,4,8,16,32,64 и т. Д.), Поэтому в двоичномбудет выглядеть как 0001,0010,0100,1000 и т. д.
Теперь, чтобы установить или удалить флаг, вам нужно либо добавить его в переменную Flag, либо удалить его.Пример проверки на флаги будет выглядеть так:
if(MyClass.Flags & FLAG_A)
{
// Flag is set
}
if(!(MyClass.Flags & FLAG_B))
{
// Flag is not set
}