관리 메뉴

기억을 위한 기록들

STL에서의 함수객체 2가지 본문

C & CPP

STL에서의 함수객체 2가지

에드윈H 2020. 8. 19. 13:02

<functional> 헤더에 정의되어 있는 함수객체는 함수자라는 애칭으로 더 많이 사용되며, opertator() 연산자를 오버로딩한 클래스 객체입니다.

 

 

 

일반 함수 객체 : 특정 기능을 수행하는 함수 객체

- 산술 연산 함수 객체 : 사칙연산 기능을 수행하는 plus, minus, multiplies,divides,modulus,negate 등

- 비교 연산 함수 객체 : 비교 조건자 equal_to, not_equal_to, less, greater, greater_equal, less_equal 등

- 논리 연산 함수 객체 조건자 : 논리 조건자 logical_and, logical_or, logical_not

 

함수 어댑터(function adapter)

- 바인더 : 이항 함수 객체를 단항 함수객체로 변환(bind1st, bind2nd)

- 부정자 : 함수 객체 조건자를 반대로 변환(not1,not2)

- 함수 포인터 어댑터 : 함수 포인터를 STL이 요구하는 함수객체로 변환(ptr_fun)

- 멤버 함수 포인터 어댑터 : 멤버 함수 포인터를 STL이 요구하는 함수 객체로 변환 (mem_fun, mem_fun_ref)

 

* 여기서 조건자는 bool 형식을 반환하는 함수류(함수 객체, 함수, 함수 포인터)이다.