对矢量< bool>执行按位操作的最佳方式是什么?
据我所知,向量< bool>是一个专用化,每个布尔值使用一个位.我选择了矢量< bool>为了节省内存的原因.我知道矢量< bool>有一些问题但是对于我的需要,这是适当的.
现在 – 对整个这样的载体进行逐位操作最有效的方法是什么?
如果我在一个for循环中执行它,并读出每个单独的bool并将其存储回来,我理解它的方式在里面执行更多的操作,以访问实际值.
谢谢!
解决方法
如果在编译时固定位数,那么使用
std::bitset
会更好一些
如果不是,(即,位数在运行时变化),则应该看到并且可以使用boost::dynamic_bitset
)
在这两种情况下,执行所有按位操作非常容易.