Что назвать массив флагов?
-
05-10-2019 - |
Вопрос
У меня есть проект, где многие объекты удерживают состояние, поддерживая простые булевы. Есть много из них, поэтому я поддерживаю их в пределах uint32_t
и использовать битовый маскирующий. Теперь есть так много флагов, чтобы отслеживать, я создал для них абстракцию (просто классная упаковка uint32_t
) с участием set()
, clear()
, так далее.
Мой вопрос: что такое хороший точный, краткое имя для этого класса? Какое имя я могу дать этот класс, чтобы у вас была разумная идея, что это было [за] знание только имени?
Некоторые идеи у меня были:
- Флагбанк
- Флагрок
- так далее
Есть идеи?
Заранее спасибо!
Ваше здоровье,
-Крис
Решение
Флагбанк был бы довольно описательным.
Но у меня есть одно предложение. Вместо использования UINT32_T и BIT MASKING, он может быть менее C-подобным для использования вектора STL вместо этого. Он использует специализацию шаблона для булевого случая, когда для хранения используется только один бит на элемент. Очень эффективный и гораздо больше объекта ориентирован.
Другие советы
Стандарт имеет такой класс шаблона, и он называется std::bitset<N>
(N для количества битов / флагов). Фактический объект этого класса может быть назван в соответствии с его целью, например, state
или что-то.