std::bitset<N>::operator==, std::bitset<N>::operator!=
Из ru.cppreference.net
bool operator==( const bitset& rhs ) const;
|
(1) | (noexcept начиная с C++11) (constexpr начиная с C++23) |
bool operator!=( const bitset& rhs ) const;
|
(2) | (noexcept начиная с C++11) (до C++20) |
1) Возвращает true, если все биты в
*this и rhs равны.2) Возвращает true, если хотя бы один из битов в
*this и rhs не равен.|
Оператор |
(начиная с C++20) |
Параметры
| rhs | - | bitset для сравнения |
Возвращаемое значение
1)
true
если значение каждого бита в
*
this
равно значению соответствующего бита в
rhs
, в противном случае
false
.
2)
true
если
!
(
*
this
==
rhs
)
, иначе
false
.
Пример
Сравните заданные битовые наборы, чтобы определить, идентичны ли они:
Запустить этот код
#include <bitset> #include <iostream> 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>{}; // compile-time error: incompatible types }
Вывод:
b1 == b2: true b1 == b3: false b1 != b3: true