functional_divides
functional_divides (나눗셈 함수 객체)
이 페이지는 C++ 표준 라이브러리의 std::divides 함수 객체에 대해 설명해요. std::divides는 두 값을 나누는 연산을 수행하는 함수 객체예요. 주로 알고리즘과 함께 사용되어 두 인자를 나눈 결과를 반환해요.
출처: cppreference
본문
정의
<functional> 헤더에 정의되어 있어요.
| 템플릿 정의 | |
|---|---|
template < class T > struct divides; |
(C++14까지) |
template < class T = void > struct divides; |
(C++14부터) |
나눗셈을 수행하는 함수 객체예요. 실제로는 T 타입의 두 인스턴스에 대해 operator/를 호출해요.
특수화 (Specializations)
표준 라이브러리는 T가 지정되지 않은 경우 std::divides의 특수화를 제공해요. 이 특수화는 매개변수 타입과 반환 타입을 추론하도록 남겨둬요.
| 특수화 | 설명 |
|---|---|
divides<void> (C++14) |
x / y를 구현하고 매개변수와 반환 타입을 추론하는 함수 객체 (클래스 템플릿 특수화) |
멤버 타입 (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::divides::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; }