在C++中创建boost dynamic_bitset的向量

Syn*_*ter 6 c++ boost

我想创建一个dynamic_bitsets数组.所以我创建了一个dynamic_bitset向量,

vector<boost::dynamic_bitset<>> v;

如何指定每个dynamic_bitsets的大小,即v [0],v [1]等?像在一般情况下一样,我们通过构造函数指定大小.

boost::dynamic_bitset<> x(3);
Run Code Online (Sandbox Code Playgroud)

Ben*_*ier 8

这条线

vector<boost::dynamic_bitset<>> v;
Run Code Online (Sandbox Code Playgroud)

创建一个空向量.相反,你可以要求它填充所有具有相同值的默认条目,就像通常那样

vector<int> v(N, 1);
Run Code Online (Sandbox Code Playgroud)

创建一个带有N条目的向量,你可以做1

vector<boost::dynamic_bitset<>> v( N, boost::dynamic_bitset<>(3) ) ;
Run Code Online (Sandbox Code Playgroud)

让它包含N boost::dynamic_bitset<>3位的s.

如果矢量包含足够的元素,则应该能够将其设置v[i]为不同的大小

v[i] = boost::dynamic_bitset<>( 100 ) ;
Run Code Online (Sandbox Code Playgroud)

另外,您可以像现在一样创建一个空矢量,并使用类似v.push_back(boost::dynamic_bitset<>(42))添加正确大小元素的东西.