我有一个非常简单的问题:在C ++中,是否有一种内置或简单的方法可以在单个标签中对大量(~1000)位(或bool)进行分组,以使内置位运算符起作用为基本面做什么?
e.g。对于你可以写的long
:
unsigned long maximum = ~0;
或者可以使用:
somenum>>;
对于任意大小的内存块,是否有类似的方法?
如果没有,有什么好的选择?我曾想过位<vectors>
,C union
等,但这些似乎都需要手写的例程来进行各种位操作。
答案 0 :(得分:11)
是的!它被称为 std::bitset
,就是这样。
希望这有帮助!
答案 1 :(得分:0)
此外,boost::dynamic_bitset
可能会有用,具体取决于要求。我希望它是标准而不是std::vector<bool>