我有一个项目,其中许多对象通过维护简单的布尔标志来保持状态。有很多这些,所以我将它们保持在uint32_t
内并使用位屏蔽。现在有很多标记需要跟踪,我已经为它们创建了一个抽象(只是一个包裹uint32_t
的类)set()
,clear()
等。
我的问题:这个班级有什么准确,简洁的名字?我可以给这个班级起什么名字,以便你有一个合理的想法,只知道这个名字是什么?
我有一些想法:
有什么想法吗?
提前致谢!
干杯,
-Chris
答案 0 :(得分:10)
标准具有这样的类模板,它被称为std::bitset<N>
(位数/标志的数量为N)。这个类的实际对象可以根据其目的命名,如state
或其他东西。
答案 1 :(得分:2)
FlagBank具有相当的描述性。
但我有一个建议。与使用uint32_t和位掩码不同,使用STL向量可能不像C语言。它对布尔情况使用模板特化,其中每个元素只有一位用于存储。非常高效,更加面向对象。