最終更新日時(UTC):
が更新

履歴 編集

function template
<bitset>

std::operator^

namespace std {
  template <size_t N>
  bitset<N> operator^(const bitset<N>& lhs, const bitset<N>& rhs);          // (1) C++03

  template <size_t N>
  bitset<N> operator^(const bitset<N>& lhs, const bitset<N>& rhs) noexcept; // (1) C++11

  template <size_t N>
  constexpr bitset<N> operator^(const bitset<N>& lhs, const bitset<N>& rhs) noexcept; // (1) C++23
}

概要

lhsrhsに対して、排他的論理和(XOR)したbitsetを生成する。

戻り値

lhsrhsのどちらか一方だけ1となるビットを1、それ以外のビットを0とするbitsetオブジェクトを生成して返す。
この関数は、以下のプログラムと同じ動作をする:

return bitset<N>(lhs) ^= rhs;

例外

投げない。

#include <iostream>
#include <bitset>

int main()
{
  std::bitset<4> bs1("0011");
  std::bitset<4> bs2("0101");

  std::bitset<4> result = bs1 ^ bs2;

  std::cout << result << std::endl;
}

出力

0110

参照