ホームページ > バックエンド開発 > C++ > C でビットセットのサイズを動的に決定するにはどうすればよいですか?

C でビットセットのサイズを動的に決定するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-24 09:41:11
オリジナル
699 人が閲覧しました

How Can I Dynamically Determine the Size of a Bitset in C  ?

初期化時のビットセット サイズの決定

C では、次の例に示すように、ビットセットは通常、特定のサイズで定義されます。

bitset<6> myBitset;
ログイン後にコピー

ただし、クラスでビットセットを定義する場合、サイズが不明な場合がありますコンパイル時に。これにより、ビットセット サイズを動的に決定する方法が問題になります。

試みられた解決策の 1 つは、ビットセットへのポインタを利用することです。

#include <bitset>

class Test {
public:
    std::bitset *myBitset;
};
ログイン後にコピー

ただし、このアプローチはコンパイルに失敗します。あるいは、実行時に決定されるサイズでビットセットを初期化しても機能しません。

int size = getDependentSizeForBitset();
myBitset = new bitset<size>();
ログイン後にコピー

解決策

  • Boostdynamic_bitset:

ブースト ライブラリは、dynamic_bitset を提供しますこれにより、ビットセットの動的なサイズ変更が可能になります。

  • vector:

推奨されていませんが、std::vectorビットセットをシミュレートするように特化でき、動的なサイズ変更機能を提供します。

以上がC でビットセットのサイズを動的に決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート