functional_minus
functional_minus (뺄셈 함수 객체)
이 페이지는 C++ 표준 라이브러리의 std::minus 함수 객체에 대해 설명해요. std::minus는 두 값의 뺄셈을 수행하는 함수 객체로, 내부적으로 operator-를 호출해요. 주로 <functional> 헤더에 정의되어 있으며, 알고리즘의 이항 연산으로 자주 사용돼요.
출처: cppreference
본문
std::minus는 <functional> 헤더에 정의된 함수 객체예요. 템플릿 인자 T에 대해 두 개의 T 값 사이의 뺄셈을 수행해요. C++14부터는 T를 지정하지 않으면 void 특수화가 사용되어 인자 타입과 반환 타입을 자동으로 추론해요.
정의
<functional> 헤더에 정의됨 |
||
|---|---|---|
template < class T > struct minus ; |
(C++14까지) | |
template < class T = void > struct minus ; |
(C++14부터) |
특수화
표준 라이브러리는 T가 지정되지 않은 경우를 위해 std::minus<void> 특수화를 제공해요. 이 특수화는 x - y를 구현하면서 파라미터 타입과 반환 타입을 추론해요.
| 특수화 | 설명 | 도입 시점 |
|---|---|---|
minus<void> |
x - y를 구현하며 파라미터 타입과 반환 타입을 추론하는 함수 객체 (클래스 템플릿 특수화) |
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>를 공개 상속하여 얻어져요. (C++11까지)
멤버 함수
| 함수 | 설명 |
|---|---|
operator() |
두 인수 사이의 차이를 반환해요. |
std::minus::operator()
T operator ()( const T & lhs , const T & rhs ) const ;
(C++14부터 constexpr)
lhs와 rhs의 차이를 반환해요.
매개변수
| lhs, rhs | - | 서로 뺄 값들 |
|---|
반환값
lhs - rhs의 결과예요.
예외
구현 정의 예외를 던질 수 있어요.
가능한 구현
constexpr T operator ()( const T & lhs , const T & rhs ) const { return lhs - rhs ; }