在C ++中,bitsets实际上是一组bool吗?这不会破坏使用BitSet的目的,因为bools是32位(我认为......)?
答案 0 :(得分:8)
他们代表 bool
的集合,但这些值实际上存储为unsigned long
中的位。
bool
的大小不需要任何位数,也不是unsigned long
。 (尽管任何数据类型的最小位数为8,而unsigned long
的最小位数必须至少为32。)
答案 1 :(得分:6)
不,std::bitset
s实际上并不是bool,它们实际上是bitset。谁告诉你他们是bools?
你是否可能对std::vector<bool>
的争议感到困惑?这是一个相反的问题,因为它看起来像一组bool,但实际上是一个比特集。