• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【C++】巨大なビット配列の用意の仕方)

【C++】巨大なビット配列の用意の仕方

このQ&Aのポイント
  • C++で巨大なビット配列を用意する方法について教えてください。
  • 数値計算用のプログラムで、2^16個の「on」または「off」のデータをメモリに記憶させる必要があります。どのようにビット配列を用意すれば効率的に処理できるでしょうか?
  • ビットフィールドを使用して実装しようとしましたが、基本型のビット数を超えるためにコンパイルが通りませんでした。C++で大きなビット配列を扱う方法についてアドバイスをいただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

std:bitset ビット操作ならね 動的に確保したいならvector使えば大丈夫

buenaarbol
質問者

お礼

下記の方々から教えていただいたvectorとbitsetで迷ったのですが、試しにbitsetで実装したところ見事思い通りの挙動をしてくれました。これで少ないリソースを有効に活用できそうです。 実装できたからという理由で申し訳ないのですが、みなさんを代表して、ベストアンサーに選ばせていただきます。ありがとうございました。

その他の回答 (3)

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.3

std::vector<bool>を使ってみることですね。 ビットをパックしてメモリ効率の良い実装になっているかもしれません。 確実に詰め込みたいなら自作クラスにして自分でビット操作するのが一番です。

buenaarbol
質問者

お礼

ご回答ありがとうございました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

もう 1つ: std::vector<bool>

buenaarbol
質問者

お礼

標準ライブラリにちゃんと欲しい機能が実装されていたのですね。教えていただきありがとうございます。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

自分でビット操作するのが安全.

関連するQ&A