dynamisch größe von std::bitset??
-
class XXXX{ std::bitset<....> data; XXXX(UINT Size){ } };kann ich die größe des bitfelds dynamisch über den kosntruktor der klasse deklarien?
-
Nein, kannst du nicht - die Größe eines bitset<> ist Template-Parameter und muß darum zur Compilezeit angegeben werden. Als Alternative könntest du aber vector<bool> verwenden.
-
ok.. dan hab ich noch ein problem:
bspw.:
std::bitset<128> FLAG; FLAG |= (1<< 96);diese Bitshft ist scheinbar unmöglich, da ich mit denke das das shiften über max. 32/64 bit möglich ist!!
EDIT: hat vector<BOOL> auch bitoperationen? vorallem bitshifften über 32 bit;)
-
Wenn du schon bitset<> verwendest, kannst du auch dessen Methoden verwenden - in deinem Beispiel
FLAG.set(96);(oderFLAG[96]=true;- letzteres klappt auch bei einem vector<bool>)).