Bit vector and bitset

2019-01-29 01:44发布

What is the difference between bit-vector and bitset container of stl ? Please explain. To my understanding bitset is the implementation of the concept of bitvector am I right or wrong? What are the other ways to implement bit vector?

2条回答
Fickle 薄情
2楼-- · 2019-01-29 02:18

They're different. A std::bitset has a fixed size known at compile time. This allows it to be implemented very efficiently. A bit vector (I assume you mean std::vector<bool>) can vary in size like any other std::vector.

查看更多
不美不萌又怎样
3楼-- · 2019-01-29 02:23

bit_vector has the same interface as an std::vector, and is optimised for space. It not a part of standard C++. This documentation claims it is close to an STL vector<bool>, which presumably is quite close to a standard C++ std::vector<bool>.

std::bitset is fixed size, and has a different interface.

查看更多
登录 后发表回答