functional_bit_xor

functional_bit_xor (비트 XOR 함수 객체)

이 페이지는 C++ 표준 라이브러리의 std::bit_xor 함수 객체에 대해 다루고 있어요. std::bit_xor는 두 값에 대해 비트 XOR 연산을 수행하는 함수 객체로, operator^를 효과적으로 호출해요. 주로 알고리즘과 컨테이너에서 이항 연산자로 사용할 수 있어요.

출처: cppreference

본문

std::bit_xor는 타입 T에 대해 비트 XOR을 수행하는 함수 객체예요. 실제로는 타입 T에 대해 operator^를 호출해요.

특수화

표준 라이브러리는 T가 지정되지 않은 경우 std::bit_xor의 특수화를 제공하며, 이때 매개변수 타입과 반환 타입은 추론돼요.

특수화 설명 도입
bit_xor <void> x ^ y를 구현하며 매개변수와 반환 타입을 추론하는 함수 객체 (클래스 템플릿 특수화) (since C++14)

멤버 타입

타입 정의
result_type (C++17에서 더 이상 사용되지 않음) (C++20에서 제거됨) T
first_argument_type (C++17에서 더 이상 사용되지 않음) (C++20에서 제거됨) T
second_argument_type (C++17에서 더 이상 사용되지 않음) (C++20에서 제거됨) T

이 멤버 타입들은 std :: binary_function < T , T , T >를 공개적으로 상속하여 얻어져요. (until C++11)

멤버 함수

함수 설명
operator() 두 인자의 비트 XOR 결과를 반환해요 (공용 멤버 함수)

std::bit_xor::operator()

T operator ()( const T & lhs , const T & rhs ) const ; (constexpr since C++14)

lhsrhs의 비트 XOR 결과를 반환해요.

매개변수

lhs, rhs - 비트 XOR을 계산할 값

반환값

lhs ^ rhs의 결과예요.

예외

구현 정의 예외를 던질 수 있어요.

가능한 구현

constexpr T operator ()( const T & lhs , const T & rhs ) const { return lhs ^ rhs ; }

결함 보고서

다음 동작 변경 결함 보고서는 이전에 게시된 C++ 표준에 소급 적용되었어요.

DR 적용 대상 게시된 동작 올바른 동작
LWG 660 C++98 비트 연산을 위한 함수 객체가 없음 추가됨

더 알아보기 (Learn more)

cppreference