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

时间:2012-07-06 23:32:46

标签: c++ boost

我想创建一个dynamic_bitsets数组。所以我使用

创建了一个dynamic_bitset向量

vector<boost::dynamic_bitset<>> v;

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

boost::dynamic_bitset<> x(3);

1 个答案:

答案 0 :(得分:8)

这一行

vector<boost::dynamic_bitset<>> v;

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

vector<int> v(N, 1);

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

vector<boost::dynamic_bitset<>> v( N, boost::dynamic_bitset<>(3) ) ;

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

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

v[i] = boost::dynamic_bitset<>( 100 ) ;

另外,您可以创建一个像当前一样的空矢量,只需使用v.push_back(boost::dynamic_bitset<>(42))之类的东西来添加正确大小的元素。