Namespaces
Variants

std::bitset<N>:: set

From cppreference.net
Utilities library
bitset & set ( ) ;
(1) (noexcept начиная с C++11)
(constexpr начиная с C++23)
bitset & set ( std:: size_t pos, bool value = true ) ;
(2) (constexpr начиная с C++23)

Устанавливает все биты в значение true или устанавливает один бит в указанное значение.

1) Устанавливает все биты в true .
2) Устанавливает бит в позиции pos в значение value .

Содержание

Параметры

pos - позиция (отсчёт начинается с 0 , т.е. от младшего к старшему разряду) устанавливаемого бита
value - значение, устанавливаемое в бит

Возвращаемое значение

* this

Исключения

2) Выбрасывает std::out_of_range если pos не соответствует допустимой позиции бита.

Пример

#include <bitset>
#include <cstddef>
#include <iostream>
int main()
{
    std::bitset<8> b;
    std::cout << b << '\n';
    std::cout << b.set() << '\n';
    std::cout << b.reset() << '\n';
    for (std::size_t i = 1; i < b.size(); i += 2)
        b.set(i);
    std::cout << b << '\n';
}

Вывод:

00000000
11111111
00000000
10101010

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применяется к Поведение в опубликованной версии Корректное поведение
LWG 186 C++98 тип value был int исправлен на bool
LWG 2250 C++98 поведение было неопределенным, если pos не
соответствует допустимой позиции бита
всегда выбрасывает
исключение в этом случае

Смотрите также

устанавливает биты в false
(публичная функция-член)
переключает значения битов
(публичная функция-член)