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?
相关问题
- Sorting 3 numbers without branching [closed]
- How to compile C++ code in GDB?
- Why does const allow implicit conversion of refere
- thread_local variables initialization
- What uses more memory in c++? An 2 ints or 2 funct
相关文章
- Class layout in C++: Why are members sometimes ord
- How to mock methods return object with deleted cop
- Which is the best way to multiply a large and spar
- C++ default constructor does not initialize pointe
- Selecting only the first few characters in a strin
- What exactly do pointers store? (C++)
- Converting glm::lookat matrix to quaternion and ba
- What is the correct way to declare and use a FILE
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 meanstd::vector<bool>
) can vary in size like any otherstd::vector
.bit_vector
has the same interface as anstd::vector
, and is optimised for space. It not a part of standard C++. This documentation claims it is close to an STLvector<bool>
, which presumably is quite close to a standard C++std::vector<bool>
.std::bitset is fixed size, and has a different interface.