6

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

vector<boost::dynamic_bitset<>> v;

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

boost::dynamic_bitset<> x(3);
4

1 回答 1

8

这条线

vector<boost::dynamic_bitset<>> v;

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

vector<int> v(N, 1);

创建一个包含N所有条目的向量 1 你可以做

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

让它包含N boost::dynamic_bitset<>s 和 3 位。

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

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

或者,您可以像现在一样创建一个空向量,然后使用类似v.push_back(boost::dynamic_bitset<>(42))添加正确大小的元素。

于 2012-07-06T23:57:49.163 回答