编译时大小未知的位集

时间:2013-09-07 07:55:26

标签: c++

我知道初始化bitset类的对象意味着你必须使用编译时常量来表示位数。但是,为了我的目的,我想生成一个巨大的布尔值数组,我知道我可以通过使用bitset类来节省内存,只要不是这个数组的大小只在运行时才知道。有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

您可以使用boost

中的dynamic_bitset

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

或vector< bool> STL的专业化

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

全部取决于您的要求,例如您需要的操作员和功能

答案 1 :(得分:1)

如果您有权访问提升,则可以使用其dynamic_bitset:

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