对任意大的位数组或数字进行位操作

ach*_*ach 6 c++ bit-manipulation data-structures

我有一个非常简单的问题:在C++中,是否有一种内置或直接的方法可以在单个标签中对大量(~1000)位(或bool)进行分组,使得内置位运算符的功能与基本原理相同?

例如,long你可能会写:

unsigned long maximum = ~0;
Run Code Online (Sandbox Code Playgroud)

或者可以使用:

somenum>>;
Run Code Online (Sandbox Code Playgroud)

对于任意大小的内存块,是否有类似的方法?

如果没有,有什么好的选择?我想过bit <vectors>,C union等等,但这些似乎都需要手写的例程来进行各种位操作.

tem*_*def 11

是的!它被称为std::bitset并且就是这样.

希望这可以帮助!