1

dynamic_bitset を使用すると、整数値 (以下の 5、124) に基づいて初期化することができます。整数値での更新も可能ですか?

以下のソリューションでは、新しい dynamic_bitset を作成するときに、更新ごとにヒープ メモリを割り当てます。これは不十分な解決策です (遅い、ヒープの断片化の可能性など)。

    std::vector<boost::dynamic_bitset<uint8_t>> data;
    data.push_back(boost::dynamic_bitset<uint8_t>(4, 5));
    data.push_back(boost::dynamic_bitset<uint8_t>(7, 124));

    for(const auto& s: data)
        std::cout << s << std::endl; 

    for(int i; i<10; i++)
    {
      data[0]=boost::dynamic_bitset<uint8_t>(4, i);

      for(const auto& s: data)
          std::cout << s << std::endl; 
    }

個々のビットを設定せずに int から値を更新する方法についてのアイデアはありますか?

4

1 に答える 1