2012-07-06 84 views
5

Tôi muốn tạo một mảng dynamic_bitsets. Vì vậy, tôi đã tạo ra một vector của dynamic_bitset sử dụng,Tạo vectơ của boost dynamic_bitset trong C++

vector<boost::dynamic_bitset<>> v;

Làm thế nào tôi có thể xác định kích thước của mỗi người trong các dynamic_bitsets ví dụ: v [0], v [1] vv? Giống như trong trường hợp chung, chúng tôi chỉ định kích thước thông qua hàm tạo.

boost::dynamic_bitset<> x(3); 

Trả lời

8

này dòng

vector<boost::dynamic_bitset<>> v; 

tạo ra một vector rỗng. Thay vào đó bạn có thể yêu cầu nó được lấp đầy với mục mặc định mà tất cả đều có giá trị như nhau, do đó, như người ta thường làm

vector<int> v(N, 1); 

để tạo ra một vector với N mục tất cả 1 bạn có thể làm

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

để có chứa Nboost::dynamic_bitset<> s với 3 bit.

Nếu vector của bạn có chứa đủ các yếu tố bạn sẽ có thể thiết lập các v[i] đến một kích thước khác nhau

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

Alternative bạn có thể tạo một vector rỗng như bạn đang làm và chỉ cần sử dụng một cái gì đó giống như v.push_back(boost::dynamic_bitset<>(42)) thêm kích thước chính xác các yếu tố.

+0

cảm ơn rất nhiều. bây giờ tôi có một sự hiểu biết rõ ràng về cách tôi nên truy cập các yếu tố. cảm ơn vì đã cung cấp các ví dụ để thực hiện nó thông qua nhiều cách. :) – SyncMaster

Các vấn đề liên quan