C++ 에서 operator() 를 지원하는 모든 경우는 다음과 같다.
- C 스타일의 함수
- C 스타일의 함수 포인터
- 함수에 대한 참조형. (함수 포인터의 const 형과 동일하게 작동)
- 함수자. (operator() 연산자를 정의한 객체)
- 식의 우변에 멤버 함수에 대한 포인터를 가지고 operator.* 이나 operator ->* 연산자를 적용한 결과
3번째 경우가 잘 이해가 안되는데.. 함수에 대한 참조형이라. 함수 포인터와는 다른의미인듯한데.. 쩝…
출처 : Modern C++ Design
Posts