bitset 与vector<bool> 类似,同样存储二进制位,但它的大小固定,而且比vector<bool>支持更多的位运算。
vector<bool〉和bitset 各有优缺点: vector<bool>可以动态增长,但不能方便地进行位运算; bitset 则正好相反,可以方便地对容纳的二进制位做位运算,但不能动态增长。
boost.dynamic_bitset的出现恰好填补了这两者之间的空白,它类似标准库的bitset,提供丰富的位运算,同时长度又是动态可变的。
dynamic_bitset位于名字空间boost,为了使用dynamic_bitset组件,需要包含头文件<boost/dynamic_bitset.hpp> , 即:
#include <boost/dynamic_bitset.hpp>
using namespace boost;
vector<bool〉和bitset 各有优缺点: vector<bool>可以动态增长,但不能方便地进行位运算; bitset 则正好相反,可以方便地对容纳的二进制位做位运算,但不能动态增长。
boost.dynamic_bitset的出现恰好填补了这两者之间的空白,它类似标准库的bitset,提供丰富的位运算,同时长度又是动态可变的。
dynamic_bitset位于名字空间boost,为了使用dynamic_bitset组件,需要包含头文件<boost/dynamic_bitset.hpp> , 即:
#include <boost/dynamic_bitset.hpp>
using namespace boost;
- void test_dynamic_bitset()
- {
- using namespace boost;
- // 1. 构造
- dynamic_bitset<> db1;