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 형식을 반환하는 함수류(함수 객체, 함수, 함수 포인터)이다.