- bitset[meta header]
- std[meta namespace]
- function template[meta id-type]
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;
- &=[link op_and_assign.md]
投げない。
#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