[C++STL] 함수 객체

박남호·2022년 12월 1일
0

함수 객체는 함수처럼 동작하는 객체이다. 함수처럼 동작하려면 ()연산자를 정의 해야한다, 즉 () 연산자를 오버로딩한 객체다. 예제를 보는게 이해하기 빠를 것 같다.

#include <iostream>
using namespace std;
void Print() 
{
	cout << "전역 함수!" << endl;
}
struct Functor {
	void operator()()
	{
		cout << "함수 객체!" << endl;
	}
};
int main()
{	
	Functor functor;
	Print();
	functor();
	return 0;
}

굳이 함수 객체를 쓰는 이유는 컴파일러가 쉽게 최적화 될 수 있고 속도가 빨라진다고 한다. 근데 굳이... 왜쓰는지 아직은 잘모르겠긴하다...

profile
NamoPark

0개의 댓글