Gibt es eine Möglichkeit, die Größe eines std::bitset
herauszufinden?Wie finde ich die Größe eines std :: bitset zur Kompilierzeit
Ich habe
typedef std::bitset<64> Bitset;
und ich möchte die Größe kennen, ohne eine Instanz zu schaffen. Z.B. wie Bitset::size
Als ich zu den Quellen in bitset.h
aussehen ist es mir völlig unleserlich, aber obwohl ich diese Zeilen
public:
enum {_EEN_BITS = _Bits};
typedef _Bitset_base<_Bits <= 8 ? 1
: _Bits <= 16 ? 2
: _Bits <= 32 ? 4
: 8> _Mybase;
typedef typename // sic
_Mybase::_Ty _Ty;
, die ich mir gefunden dachte sagen, dass _Ty
Größe enthalten kann, aber wenn ich versuchen, Bitset::_Ty
zu rufen ich bekomme illegal use of this type as an expression
Ich weiß, dass ich die Größe irgendwo speichern kann, bevor ich das Bitset tidefdef, aber das ist nicht was ich will.
Anzahl der Bits sollte im Enum-Wert '_EEN_BITS' sein, aber ich kann es nicht überprüfen, weil ich diese Deklaration nicht in meiner Implementierung der Standardbibliothek habe. –
@ RafałRawicki ist es, aber ich nehme an, das ist nicht viel tragbar, was ich brauche – relaxxx
Leider. Die C++ - Standardbibliothek ist nicht perfekt. –