close
Пространства имён
Варианты
Действия

std::bitset<N>::operator==, std::bitset<N>::operator!=

Материал из cppreference.com
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
std::bitset
Типы элементы
Функции-элементы
Доступ к элементам
Ёмкость
Модификаторы
Преобразования
Функции, не являющиеся элементами
Вспомогательные классы
(C++11)
 
<tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody>
(1)
bool operator==( const bitset& rhs ) const;
(до C++11)
bool operator==( const bitset& rhs ) const noexcept;
(начиная с C++11)
(constexpr начиная с C++23)
(2)
bool operator!=( const bitset& rhs ) const;
(до C++11)
bool operator!=( const bitset& rhs ) const noexcept;
(начиная с C++11)
(до C++20)
1) Возвращает true, если все биты в *this и rhs равны.
2) Возвращает true, если какие-либо биты в *this и rhs не равны.

Оператор != синтезируется из operator==.

(начиная с C++20)

Параметры

rhs набор битов для сравнения

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

1) true, если значение каждого бита в *this равно значению соответствующего бита в rhs, иначе false
2) true, если !(*this == rhs), иначе false

Пример

Сравнивает данные наборы битов, чтобы определить, идентичны ли они:

#include <iostream>
#include <bitset>

int main()
{
    std::bitset<4> b1( 0b0011 );
    std::bitset<4> b2( b1 );
    std::bitset<4> b3( 0b0100 );

    std::cout << std::boolalpha;
    std::cout << "b1 == b2: " << (b1 == b2) << '\n';
    std::cout << "b1 == b3: " << (b1 == b3) << '\n';
    std::cout << "b1 != b3: " << (b1 != b3) << '\n';

//  b1 == std::bitset<3>{}; // ошибка времени компиляции: несовместимые типы
}

Вывод:

b1 == b2: true
b1 == b3: false
b1 != b3: true