标志数组该如何命名?
我有一个项目,其中许多对象通过维护简单的布尔标志来保持状态。这些有很多,所以我将它们维护在 uint32_t 中并使用位掩码。现在有很多标志需要跟踪,我使用 set()
、clear 为它们创建了一个抽象(只是一个包装
等。uint32_t
的类) ()
我的问题:这个类的准确、简洁的名称是什么?我可以给这个类起什么名字,以便你只知道名字就可以合理地了解它是什么?
我的一些想法:
- FlagBank
- FlagArray
- 等
有什么想法吗?
预先感谢!
干杯,
-克里斯
I have a project where lots of the objects hold state by maintaining simple boolean flags. There are lots of these, so I maintain them within a uint32_t
and use bit masking. There are now so many flags to keep track of, I've created an abstraction for them (just a class wrapping the uint32_t
) with set()
, clear()
, etc.
My question: What's a nice accurate, concise name for this class? What name could I give this class so that you'd have a reasonable idea what it was [for] knowing the name only?
Some ideas I had:
- FlagBank
- FlagArray
- etc
Any ideas?
Thanks in advance!
Cheers,
-Chris
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
标准有这样一个类模板,它被称为 std::bitset(N 表示位/标志的数量)。这个类的实际对象可以根据其用途来命名,比如
state
之类的。The Standard has such a class template and it is called
std::bitset<N>
(N for the number of bits/flags). The actual object of this class could be named according its purpose then, likestate
or something.FlagBank 是相当具有描述性的。
但我有一个建议。不使用 uint32_t 和位掩码,而使用 STL 向量可能不太像 C。它对布尔情况使用模板专门化,其中每个元素仅使用一位用于存储。非常高效并且更加面向对象。
FlagBank would be fairly descriptive.
But I have one suggestion. Instead of using uint32_t and bit masking, it might be less C-like to use an STL vector instead. It uses a template specialization for the boolean case where only one bit per element is used for the storage. Very efficient and MUCH more object oriented.