2012-07-06 17 views
5

Quiero crear una matriz de dynamic_bitsets. Así que creé un vector de dynamic_bitset usando,Creando el vector de boost dynamic_bitset en C++

vector<boost::dynamic_bitset<>> v;

¿Cómo puedo especificar el tamaño de cada uno de estos dynamic_bitsets es decir, v [0], v [1], etc? Al igual que en un caso general, especificamos el tamaño a través del constructor.

boost::dynamic_bitset<> x(3); 

Respuesta

8

Esta línea

vector<boost::dynamic_bitset<>> v; 

crear un vector vacío. En su lugar se podría haber solicitado que se llena de entradas por defecto que todos tienen el mismo valor, así como se suele hacer

vector<int> v(N, 1); 

para crear un vector con N todas las entradas 1 que podría hacer

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

a haz que contenga Nboost::dynamic_bitset<> s con 3 bits.

Si el vector contiene los elementos suficientes que debe ser capaz de establecer la v[i] a un tamaño diferente

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

alternativa se podría crear un vector vacío como lo hace actualmente y sólo tiene que utilizar algo así como v.push_back(boost::dynamic_bitset<>(42)) añadir tamaño correcto elementos.

+0

muchas gracias. ahora entiendo claramente cómo debo acceder a los elementos. gracias por proporcionar ejemplos para hacerlo de varias maneras. :) – SyncMaster