Namespaces
Variants

std:: bit_not

From cppreference.net
Utilities library
Function objects
Function invocation
(C++17) (C++23)
Identity function object
(C++20)
Old binders and adaptors
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
( until C++17* ) ( until C++17* )
( until C++17* ) ( until C++17* )

( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
헤더 파일에 정의됨 <functional>
template < class T = void >
struct bit_not ;
(C++14부터)

비트 NOT 연산을 수행하는 함수 객체입니다. 효과적으로 타입 T 에 대해 operator~ 를 호출합니다.

목차

특수화

표준 라이브러리는 T 가 지정되지 않았을 때 std::bit_not 의 특수화를 제공하며, 이는 매개변수 타입과 반환 타입을 추론하게 합니다.

매개변수 및 반환 타입을 추론하는 ~x 를 구현하는 함수 객체
(클래스 템플릿 특수화)

멤버 타입

유형 정의
result_type (C++17에서 사용 중단됨) (C++20에서 제거됨) T
argument_type (C++17에서 사용 중단됨) (C++20에서 제거됨) T

멤버 함수

operator()
(C++14)
인수의 비트 NOT 연산 결과를 반환합니다
(public member function)

std::bit_not:: operator()

constexpr T operator ( ) ( const T & arg ) const ;
(C++14부터)

arg 의 비트 NOT 연산 결과를 반환합니다.

매개변수

arg - 비트 NOT을 계산할 값

반환 값

~arg 의 결과

예외

구현에서 정의된 예외를 던질 수 있습니다.

가능한 구현

constexpr T operator()(const T& arg) const
{
    return ~arg;
}

참고 사항

비록 std::bit_not 이 C++11 이후 제안인 N3421 을 통해 추가되었지만, 일반적인 구현에서는 LWG 이슈 660 의 해결책의 일부로 취급되며 (투명 특수화인 std::bit_not<> 제외), 따라서 C++98/03 모드에서도 사용 가능합니다.