在 C++ 中,位集实际上是一组布尔值吗?这不会破坏使用 BitSet 的目的,因为 bool 是 32 位(我认为......)?
2 回答
8
它们代表's的集合bool
,但这些值实际上是作为位存储在unsigned long
.
a 的大小bool
不需要任何位数, a 也不需要unsigned long
。(尽管任何数据类型的最小位数是 8,对于 anunsigned long
它必须至少为 32。)
于 2010-04-29T21:59:19.220 回答
6
不,std::bitset
s 实际上不是布尔值,它们实际上是位集。谁告诉你它们是布尔值?
您是否对有关 的争议感到困惑std::vector<bool>
?顺便说一句,这是相反的问题,因为它看起来像一组布尔值,但实际上是一个位集。
于 2010-04-29T22:00:15.743 回答