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
}
概要
lhs
とrhs
に対して、論理積(AND)したbitset
を生成する。
戻り値
lhs
とrhs
の共通して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;
}
出力
0001