1

我知道初始化 bitset 类的对象意味着您必须使用编译时常量来表示位数。但是,出于我的目的,我想生成一个巨大的布尔值数组,并且我知道我可以通过使用 bitset 类来节省内存,前提是只有在运行时才知道该数组的大小。有没有解决的办法?

4

2 回答 2

2

您可以使用 boost 中的 dynamic_bitset

http://www.boost.org/doc/libs/1_54_0/libs/dynamic_bitset/dynamic_bitset.html

或来自 STL 的向量<bool> 特化

http://en.cppreference.com/w/cpp/container/vector_bool

一切都取决于您的要求,例如您需要的运算符和功能

于 2013-09-07T08:07:51.257 回答
1

如果您有权使用 boost,则可以使用它的 dynamic_bitset:

http://www.boost.org/doc/libs/1_54_0/libs/dynamic_bitset/dynamic_bitset.html

于 2013-09-07T08:06:52.750 回答