我知道初始化bitset类的对象意味着你必须使用编译时常量来表示位数。但是,为了我的目的,我想生成一个巨大的布尔值数组,我知道我可以通过使用bitset类来节省内存,只要不是这个数组的大小只在运行时才知道。有办法解决这个问题吗?
答案 0 :(得分:2)
您可以使用boost
中的dynamic_bitsethttp://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