struct add {
int operator()(int a, int b) { return a + b; }
}
struct min {
int operator()(int a, int b) { return a - b; }
}
위 코드와 같이 어떠한 class 혹은 구조체의 연산자 ()를 오버로딩해서 해당 함수에 () 연산자를 적용할 수 있도록 해주는 것을 함수 객체(Functor)라고 한다.
실제 함수처럼 다음과 같이 호출할 수 있다.
add(1, 2); // 결과값 : 3
min(3, 2); // 결과값 : 1
'프로그래밍 언어 > C++' 카테고리의 다른 글
C++ 문법 / Using 키워드 (0) | 2023.02.13 |
---|---|
C++ 프로그래밍 방법론 / 템플릿 메타 프로그래밍(TMP) (0) | 2023.02.13 |
C++ 문법 / 템플릿 (0) | 2023.02.13 |
C++ 표준 라이브러리 / 파일입출력 (0) | 2023.02.13 |
C++ 표준 라이브러리 / istream, ostream에 관한 이모저모 (0) | 2023.02.13 |
댓글