W3cubDocs

/C++

std::bitset<N>::set

(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.

1) Sets all bits to true.
2) Sets the bit at position pos to the value value.

Parameters

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

Return value

*this.

Exceptions

2) Throws std::out_of_range if pos does not correspond to a valid position within the bitset.

Example

#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

Defect reports

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

See also

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