std::bitset...::operator!=(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸ’… std::bitset...::operator!=(3) πŸ’…

okay bestie, welcome to the C++ Standard Libary manual β€” yes, that's the manual name, and the page title is literally std::bitset...::operator!=(3). This one is about the comparison operators for std::bitset, and it's lowkey iconic. 🫢


🌸 NAME 🌸

std::bitset::operator==,std::bitset::operator!= β€” yep, that's the whole name. And the page repeats it exactly: std::bitset::operator==,std::bitset::operator!=. Twin operator representation, we love to see it. πŸ’…

✨ Synopsis ✨

Both are const member functions, and here's the exact signature tea:

  • (1) bool operator==( const bitset& rhs ) const; β€” noexcept since C++11, and constexpr since C++23. ✨
  • (2) bool operator!=( const bitset& rhs ) const; β€” noexcept since C++11, until C++20. 🫢
  1. Returns true if all of the bits in *this and rhs are equal.
  2. Returns true if any of the bits in *this and rhs are not equal.

The != operator is synthesized from operator==. (since C++20) β€” no cap, that's the actual rule. πŸ’–

🌸 Parameters 🌸

  • rhs β€” bitset to compare. That's it, bestie. πŸ’…

πŸŽ€ Return value πŸŽ€

  1. true if the value of each bit in *this equals the value of the corresponding bit in rhs, otherwise false.
  2. true if !(*this == rhs), otherwise false.

🧚 Example 🧚

Compare given bitsets to determine if they are identical β€” yes, literally:

// Run this code

#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
}

πŸ”₯ Output πŸ”₯

That output is exactly this:

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

okurrr, that's the whole page, bestie. It came from 🌐 http://cppreference.com, dated πŸ“… 2024.06.10, and the page is literally std::bitset...::operator!=(3) πŸ’…βœ¨.

πŸ“¦ where this page comes from