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