使用 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 更新值的任何想法?