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 から値を更新する方法についてのアイデアはありますか?