Schnelle und einfache Frage: ist std::bitset
garantiert zusammenhängend im Speicher?Ist Bitset-Kontiguität garantiert?
Ich weiß, es bleibt durch CopyConstructible und CopyAssignable Konzepte, aber ist es auch ein ContiguousContainer (oder so ähnlich) wie std::vector
?
Neben Polsterung, würde Ich mag bitweise Operationen auf Strukturen wie diese machen:
struct tmp
{
std::bitset<32> b;
unsigned int c;
};
So ist die Kontiguität von b
ganz wichtig ist. Dies führt natürlich dazu, zu wissen, ob std::bitset
eine Standard-Layout-Klasse ist, so dass jede bitweise Operation funktioniert.
Meinst du 'union { std :: bitset <32> b; unsigned int c; }; '? – cpplearner
Nein, ist es nicht. Warum fragst du, wenn du die Antwort bereits kennst? Tipp - nur etwas, was im Standard angegeben ist, ist garantiert. – SergeyA
Nein, 'struct'. Ich möchte zwei Felder im Speicher, ein 'bitset' und eine ganze Zahl. – senseiwa