すばやく簡単な質問:std::bitset
はメモリに連続していることが保証されていますか?ビットセットは連続性を保証されていますか?
私はそれがCopyConstructibleとCopyAssignableコンセプトに従っていることは知っていますが、std::vector
のようなContiguousContainer(またはそのようなもの)ですか?
別にパディングから、私はこのような構造にビット演算をしたいのですが:
struct tmp
{
std::bitset<32> b;
unsigned int c;
};
のでb
の連続性は非常に重要です。もちろん、これはstd::bitset
が標準のレイアウトクラスであるかどうかを知ることにつながり、すべてのビット演算が機能するようになります。
あなたは 'union { std :: bitset <32> bを意味しますか? 符号なしint c; }; '? – cpplearner
いいえ、そうではありません。なぜあなたはすでに答えを知っているのですか?ヒント - 標準で指定されているものだけが保証されています。 – SergeyA
いいえ、 'struct'です。私はメモリに2つのフィールド、 'bitset'と整数が必要です。 – senseiwa