【发布时间】:2014-01-23 19:38:58
【问题描述】:
假设我想创建一个带有二进制标志的类 BitField 和一个定义有多少个标志的构造函数:BitField bitField(500)。创建这样一个类的最佳方法是什么?如果我可以在偏移量处读取和设置标志并在位域getState(int index) const; 上执行按位运算,那就太酷了。谢谢!
【问题讨论】:
-
std::bitset<500>或std::vector<bool> -
尝试编写自己的实现以用于学习目的。我知道这些。
-
即便如此,这些就是答案。做别人做过的最好的方法是什么?像他们一样做事。
-
当你不知道它是如何工作的时候,学习的意义何在?我想知道 bitset 是如何实现的。所以你的答案不是针对我的问题。
-
您可以查看编译器附带的代码。这将向您展示它是如何在幕后工作的。
标签: c++ bit-fields