본문 바로가기
프로그래밍 언어/C++

C++ 프로그래밍 방법론 / 함수 객체 Functor

by Nighthom 2023. 2. 13.
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​

 

 

댓글