std::bitset<N>::flip
Материал из cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
| (1) | ||
bitset& flip(); |
(до C++11) | |
bitset& flip() noexcept; |
(начиная с C++11) (constexpr начиная с C++23) |
|
bitset& flip( std::size_t pos ); |
(2) | (constexpr начиная с C++23) |
Инвертирует биты, то есть меняет значение true на false и значения false на true. Эквивалентно логической операции НЕ над частью или всем набором битов.
1) Инвертирует все биты (эквивалентно operator~, но на месте)
2) Инвертирует бит в позиции
pos.Параметры
| pos | — | Позиция бита для инвертирования |
Возвращаемое значение
*this
Исключения
2) Вызывает std::out_of_range, если
pos не соответствует допустимой позиции в наборе битов.Пример
Запустить этот код
#include <bitset>
#include <iostream>
int main()
{
std::bitset<4> b;
std::cout << b << "\n";
std::cout << b.flip(0) << '\n';
std::cout << b.flip(2) << '\n';
std::cout << b.flip() << '\n';
}
Вывод:
0000
0001
0101
1010
Смотрите также
устанавливает биты в true или в заданное значение (public функция-элемент) | |
устанавливает биты в false (public функция-элемент) | |
| выполняет бинарное И, ИЛИ, исключающее ИЛИ и НЕ (public функция-элемент) | |
| Заменяет значения в векторе на противоположные (public функция-элемент std::vector<bool>)
|