【发布时间】:2012-11-10 11:02:01
【问题描述】:
stl 的位向量和位集容器有什么区别?请解释。 据我了解,bitset 是位向量概念的实现,我是对还是错?位向量的其他实现方式有哪些?
【问题讨论】:
stl 的位向量和位集容器有什么区别?请解释。 据我了解,bitset 是位向量概念的实现,我是对还是错?位向量的其他实现方式有哪些?
【问题讨论】:
bit_vector 与std::vector 具有相同的界面,并针对空间进行了优化。它不是标准 C++ 的一部分。这个 documentation 声称它接近于 STL vector<bool>,这可能非常接近标准 C++ std::vector<bool>。
std::bitset 是固定大小的,有不同的界面。
【讨论】:
他们是不同的。 std::bitset 具有在编译时已知的固定大小。这使得它可以非常有效地实施。位向量(我假设您的意思是 std::vector<bool>)的大小可以像任何其他 std::vector 一样变化。
【讨论】: