Шаг 353.
Библиотека STL.
Специальные контейнеры. Строение класса bitset. Модифицирующие операции

    На этом шаге мы перечислим модифицирующие операции.

    В классе bitset возможно использование следующих модифицирующих операций:

bitset<размер>& bitset<размер>::set ()
bitset<размер>& bitset<размер>::set (size_t idx)
Устанавливает бит в позиции idx.

Возвращает модифицированное битовое поле.

Если выполняется условие idx>=size(), генерируется исключение out_of_range.

bitset <paзмер>& bitset <paзмер>::set (size_t idx, int value)
Задает значение бита в позиции idx в соответствии с value.

Возвращает модифицированное битовое поле.

Значение value интерпретируется как логическая величина. Если аргумент value равен 0, бит сбрасывается, а при любом другом значении бит устанавливается.

Если выполняется условие idx>=size(), генерируется исключение out_of_range.

bitset<paзмер>& bitset<paзмер>::reset ()
Сбрасывает все биты (то есть присваивает им 0). Возвращает модифицированное битовое поле.
bitset<paзмер>& bitset<paзмер>::reset (size_t idx)
Сбрасывает бит в позиции idx. Возвращает модифицированное битовое поле.

Если выполняется условие idx>=size(), генерируется исключение out_of_range.

bitset<paзмер>& bitset<paзмер>::flip ()
Переводит все биты в противоположное состояние (установленные биты сбрасываются, и наоборот). Возвращает модифицированное битовое поле.
bitset<paзмер>& bitset<paзмер>::flip (size_t idx)
Переводит бит в позиции idx в противоположное состояние. Возвращает модифицированное битовое поле.
bitset<paзмер>& bitset<paзмер>::operator^= (const bitset<paзмер>& bits)
Поразрядный оператор "исключающего ИЛИ".

Переводит в противоположное состояние все биты, установленные в bits. Остальные биты остаются без изменений.

Возвращает модифицированное битовое поле.

bitset<размер>& bitset<размер>::operator|= (const bitset<размер>& bits)
Поразрядный оператор "ИЛИ". Устанавливает все биты, установленные в bits. Остальные биты остаются без изменений.

Возвращает модифицированное битовое поле.

bitset<размер>& bitset<размер>::operator&= (const bitset<размер>& bits)
Поразрядный оператор "И". Сбрасывает все биты, сброшенные в bits. Остальные биты остаются без изменений.

Возвращает модифицированное битовое поле.

bitset<размер>& bitset<размер>::operator<<= (size_t num)
Сдвигает все биты на num позиций влево. Возвращает модифицированное битовое поле. Последние num битов заполняются нулями.
bitset<размер>& bitset<размер>::operator>>= (size_t num)
Сдвигает все биты на num позиций вправо. Возвращает модифицированное битовое поле. Первые num битов заполняются нулями.

    На следующем шаге мы рассмотрим работу с отдельными битами с применением оператора [].




Предыдущий шаг Содержание Следующий шаг