C でビットセットを定義する場合、初期化時にサイズを指定できます。ただし、変数が宣言されるまでサイズがわからない場合、これは困難になります。
次のコードを考えてみましょう:
#include <bitset> class Test { public: std::bitset *myBitset; };
ビットセットのサイズが異なるため、このコードはコンパイルされません。は指定されていません。サイズが不明なビットセットへのポインタは使用できません。
解決策の 1 つは、Boost ライブラリの Dynamic_bitset クラスを使用することです。
#include <boost/dynamic_bitset.hpp> class Test { public: boost::dynamic_bitset<> myBitset; };
これにより、任意のサイズのビットセットを作成できます。
別の解決策は、次のベクトルを使用することです。 booleans:
#include <vector> class Test { public: std::vector<bool> myBitset; };
これは理想的ではありませんが、ブール値のベクトルがビットセットのように動作するように特殊化されているため、機能します。
どのソリューションを選択しても、サイズを指定することが重要であることに注意してください。初期化時のビットセットの。そうしないと、コンパイラ エラーが発生します。
以上がC で不明なサイズのビットセットを初期化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。