2012-07-06 1 views
5

Desidero creare una serie di dynamic_bitset. Così ho creato un vettore di dynamic_bitset usando,Creazione vettoriale di boost dynamic_bitset in C++

vector<boost::dynamic_bitset<>> v;

Come posso specificare le dimensioni di ciascuna di queste dynamic_bitsets cioè v [0], v [1], ecc? Come in un caso generale, specifichiamo la dimensione attraverso il costruttore.

boost::dynamic_bitset<> x(3); 

risposta

8

Questa linea

vector<boost::dynamic_bitset<>> v; 

creare un vettore vuoto. Invece si potrebbe avere fatto richiesta essere riempito di voci predefinite che hanno tutti lo stesso valore, così come di solito si fa

vector<int> v(N, 1); 

per creare un vettore con N tutte le voci 1 si potrebbe fare

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

a deve contenere Nboost::dynamic_bitset<> s con 3 bit.

Se il vettore contiene elementi sufficienti si dovrebbe essere in grado di impostare il v[i] ad una dimensione diversa

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

alternativa è possibile creare un vettore vuoto come che attualmente fanno e basta usare qualcosa come v.push_back(boost::dynamic_bitset<>(42)) aggiungere dimensioni corrette elementi.

+0

grazie mille. ora ho una chiara comprensione di come dovrei accedere agli elementi. grazie per aver fornito esempi per farlo in diversi modi. :) – SyncMaster