Bestimmen der Bitset-Größe bei der Initialisierung
In C werden Bitsets üblicherweise mit einer bestimmten Größe definiert, wie im Beispiel zu sehen:
bitset<6> myBitset;
Bei der Definition von Bitsätzen in Klassen ist die Größe jedoch möglicherweise zur Kompilierungszeit nicht bekannt. Dies wirft die Frage auf, wie die Bitsatzgröße dynamisch bestimmt werden kann.
Ein Lösungsversuch besteht darin, einen Zeiger auf einen Bitsatz zu verwenden:
#include <bitset> class Test { public: std::bitset *myBitset; };
Dieser Ansatz schlägt jedoch beim Kompilieren fehl. Alternativ funktioniert auch die Initialisierung des Bitsets mit einer zur Laufzeit ermittelten Größe nicht:
int size = getDependentSizeForBitset(); myBitset = new bitset<size>();
Lösungen
Boost-Bibliotheken stellen ein dynamisches_Bitset bereit, das eine dynamische Größenänderung von ermöglicht Bitsets.
Obwohl nicht empfohlen, std::vector
Das obige ist der detaillierte Inhalt vonWie kann ich die Größe eines Bitsets in C dynamisch bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!