functional_multiplies
functional_multiplies (곱셈 함수 객체)
이 페이지는 C++ 표준 라이브러리의 std::multiplies 함수 객체에 대해 설명해요. std::multiplies는 두 값을 곱하는 연산을 수행하는 함수 객체로, 알고리즘이나 컨테이너와 함께 자주 사용돼요. C++14부터는 템플릿 인자를 생략한 multiplies <void> 특수화를 통해 파라미터와 반환 타입을 자동으로 추론할 수 있어요.
출처: cppreference
본문
<functional> 헤더에 정의됨 |
||
|---|---|---|
template < class T > struct multiplies ; |
(C++14까지) | |
template < class T = void > struct multiplies ; |
(C++14부터) |
곱셈을 수행하는 함수 객체예요. 효과적으로 T 타입의 두 인스턴스에 대해 operator *를 호출해요.
특수화 (Specializations)
표준 라이브러리는 T가 지정되지 않은 경우 std::multiplies의 특수화를 제공해요. 이 특수화는 파라미터 타입과 반환 타입을 추론하도록 남겨둬요.
| 특수화 | 설명 | 도입 |
|---|---|---|
multiplies <void> |
x * y를 구현하고 파라미터와 반환 타입을 추론하는 함수 객체 (클래스 템플릿 특수화) |
(C++14부터) |
멤버 타입 (Member types)
| 타입 | 정의 |
|---|---|
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까지)
멤버 함수 (Member functions)
| 함수 | 설명 |
|---|---|
operator() |
두 인자의 곱을 반환해요 (공개 멤버 함수) |
std::multiplies:: operator()
T operator ()( const T & lhs , const T & rhs ) const ; |
(C++14부터 constexpr) |
|---|
lhs와 rhs의 곱을 반환해요.
매개변수 (Parameters)
lhs, rhs |
- | 곱할 값 |
|---|
반환값 (Return value)
lhs * rhs의 결과예요.
예외 (Exceptions)
구현 정의 예외를 던질 수 있어요.
가능한 구현 (Possible implementation)
constexpr T operator ()( const T & lhs , const T & rhs ) const { return lhs * rhs ; }