함수 객체


함수 객체

‘함수 객체’는 함수처럼 동작하는 객체이므로 다른 멤버 변수와 멤버 함수를 가질 수 있고 일반 함수에서 하지 못하는 지원을 받을 수 있다. 또한, 함수 객체의 서명이 같더라도 객체타입이 다르면 서로 전혀 다른 타입으로 인식한다. 속도도 일반 함수보다 함수 객체가 빠릅니다. 함수의 주소를 전달하여 콜백하는 경우 이 함수 포인터는 인라인될 수 없지만(함수 포인터는 함수가 있어야 하므로 인라인 함수의 복사본 함수를 만듬) 함수 객체는 인라인될 수 있고, 컴파일러가 쉽게 최적화 할 수 있다. 함수객체 예시 Colored By Color Scripter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include <iostream> using namespace std; class Adder { int total; public: explicit Adder(int n = 0) :total(n) {} int operator()(int n) ...


#템플릿 #함수객체

원문링크 : 함수 객체