2012-07-06 59 views
5

我想創建一個dynamic_bitsets數組。因此,我創建使用來,dynamic_bitset的向量,在C++中創建boost dynamic_bitset向量

vector<boost::dynamic_bitset<>> v;

如何指定這些dynamic_bitsets的大小即v [0],V [1]等?就像在一般情況下一樣,我們通過構造函數指定大小。

boost::dynamic_bitset<> x(3); 

回答

8

此行

vector<boost::dynamic_bitset<>> v; 

創建一個空的載體。相反,你可能要求它充滿了所有具有相同的值默認項,所以像人們通常不會

vector<int> v(N, 1); 

創建具有N條目的矢量全1,你可以做

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

到它包含3位的Nboost::dynamic_bitset<>

如果您的載體包含足夠的元素,你應該能夠在v[i]設置爲不同的尺寸

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

替代像你現在這樣做,你可以創建一個空的載體,只是使用類似v.push_back(boost::dynamic_bitset<>(42))添加正確的尺寸元素。

+0

非常感謝。現在我明白了我應該如何訪問這些元素。感謝您提供了通過多種方式完成此示例的示例。 :) – SyncMaster