콘텐츠로 건너뛰기

functor: operator ()에서 출발, 그리고 Lambda까지

C++의 강력함은 ‘사용자 정의 타입(Class, struct)’을 ‘기본 타입(int, float 등)’처럼 자연스럽게 다룰 수 있다는 데 있다. 이 철학을 가장 잘 보여주는 기능이 바로 Functor(함수 객체)다. Functor(함수 객체, 함자)는 ‘상태(State)’를 가지는 함수이자, ‘타입(Type)으로 취급되는 동작이다. 말이… functor: operator ()에서 출발, 그리고 Lambda까지