(1) | ||
bitset& set(); | (until C++11) | |
bitset& set() noexcept; | (since C++11) (until C++23) | |
constexpr bitset& set() noexcept; | (since C++23) | |
(2) | ||
bitset& set( std::size_t pos, bool value = true ); | (until C++23) | |
constexpr bitset& set( std::size_t pos, bool value = true ); | (since C++23) |
Sets all bits to true
or sets one bit to specified value.
true
.pos
to the value value
.pos | - | the position (counting from 0, from least significant to most significant) of the bit to set |
value | - | the value to set the bit to |
*this
.
#include <iostream> #include <bitset> int main() { std::bitset<8> b; std::cout << b << '\n'; std::cout << b.set() << '\n'; std::cout << b.reset() << '\n'; for (size_t i = 1; i < b.size(); i += 2) b.set(i); std::cout << b << '\n'; }
Output:
00000000 11111111 00000000 10101010
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 186 | C++98 | the type of value was int | corrected to bool |
sets bits to false (public member function) |
|
toggles the values of bits (public member function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/bitset/set