3

我觉得我只是希望他们可以,但是向量可以访问位集成员函数吗?

例如,我可以做类似的事情。

vector<bool> myvector;
myvector.count();
myvector.test(1);

如果没有,是否可以使用标准 C++ 库动态创建位集?

编辑:

我想使用某些位集函数(测试、计数)并想使用构造函数bitset (unsigned long val)

基本上我想为一些任意创建一个位集,val然后用测试和计数做一些操作。然后我想用递减的 val 释放并重新创建位集。我想继续这样做,直到 val 小于 8。

但是,创建动态位​​集似乎是不可能的,并且使用动态的向量意味着我可以使用一些不错的位集函数。

4

2 回答 2

-1

我已经回答了类似的问题,所以我建议BITSCAN,一个专门针对快速位扫描的动态位集框架。它已经在 Linux 和 Windows 上进行了测试。可以在此处获得与 STL bitset和 Boost 的dynamic_bitset的比较。

于 2014-07-28T16:39:55.710 回答
-4

听起来您实际上并不需要动态位集。std::bitset是可复制分配的,因此您可以执行以下操作:

const size_t size = sizeof(unsigned long) * CHAR_BIT;
typedef std::bitset<size> my_bitset;

unsigned long val = 42;
my_bitset bs(val);

/* do work */

bs = my_bitset(--val); // assign with new, decremented val
于 2013-03-02T13:17:23.863 回答