c++ - 在初始化时定义位集大小?

标签 c++ bitset

我想用 C++ 做一个 bitset。我做了一些研究。我发现的所有示例都是这样的:

bitset<6> myBitset;
// do something with it

但是当我在我的类中定义变量时,我不知道位集的大小:

#include <bitset>
class Test
{
public:
     std::bitset *myBitset;
}

这不会编译...

而且这样初始化也行不通:

int size = getDependentSizeForBitset();
myBitset = new bitset<size>();

最佳答案

Boost 有 dynamic_bitset 你可以使用。

或者,您可以使用 vector<bool> ,(不幸的是)专门用作位集。这会引起很多困惑,通常被认为是一个坏主意。但这就是它的工作原理,所以如果这是你需要的,你不妨使用它,我想。

关于c++ - 在初始化时定义位集大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3134718/

相关文章:

c - 如何在 C 中实现位集?

c++ - 如何创建一个 Bitset 数组队列?

scala - 在 Scala 中迭代 java.util.BitSet

c++ - 从 bitset 创建单色 BMP

c++ - 视频文件中的音轨 - C++

c++ - 如何以字节为单位获取 UTF-16LE 字符串的大小?

c++ - 如何在 C++ 中构建 glib - 构建 .cpp 时出现编译错误

c++ - 如何将 gcc 调试符号从 .so 和 .a 文件中移出?

algorithm - 获得完整覆盖的最小二元向量集

c++ - 对从静态实例引用的类模板的静态成员的 undefined reference