在 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::bitsets 实际上不是布尔值,它们实际上是位集。谁告诉你它们是布尔值?
您是否对有关 的争议感到困惑std::vector<bool>?顺便说一句,这是相反的问题,因为它看起来像一组布尔值,但实际上是一个位集。
于 2010-04-29T22:00:15.743 回答