Вопрос

У меня есть проект, где многие объекты удерживают состояние, поддерживая простые булевы. Есть много из них, поэтому я поддерживаю их в пределах uint32_t и использовать битовый маскирующий. Теперь есть так много флагов, чтобы отслеживать, я создал для них абстракцию (просто классная упаковка uint32_t) с участием set(), clear(), так далее.

Мой вопрос: что такое хороший точный, краткое имя для этого класса? Какое имя я могу дать этот класс, чтобы у вас была разумная идея, что это было [за] знание только имени?

Некоторые идеи у меня были:

  • Флагбанк
  • Флагрок
  • так далее

Есть идеи?

Заранее спасибо!
Ваше здоровье,
-Крис

Это было полезно?

Решение

Флагбанк был бы довольно описательным.

Но у меня есть одно предложение. Вместо использования UINT32_T и BIT MASKING, он может быть менее C-подобным для использования вектора STL вместо этого. Он использует специализацию шаблона для булевого случая, когда для хранения используется только один бит на элемент. Очень эффективный и гораздо больше объекта ориентирован.

Другие советы

Стандарт имеет такой класс шаблона, и он называется std::bitset<N> (N для количества битов / флагов). Фактический объект этого класса может быть назван в соответствии с его целью, например, state или что-то.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top