std::bitset<N>::set
От ru.cppreference.net
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
Исключения
Пример
Запустить этот код
#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
(публичная функция-член) |
|
|
переключает значения битов
(публичная функция-член) |