펑터는 C++의 함수 객체입니다. 펑터는 어떤 클래스의 인스턴스 객체가 일반 함수인 것처럼 호출되도록 합니다. 하나의 인수를 취하는 함수를 생각해 봅시다. 이 함수를 함수 개체로 사용하여 데이터 집합에 대한 작업을 수행할 수 있습니다.
예시 코드
#include <iostream> #include <algorithm> using namespace std; int square(int x) { return x*x; //return square of x } int main() { int data[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; transform(data, data+10, data, square); for (int i = 0; i<10; i++) cout << data[i] << endl; }
출력
0 1 4 9 16 25 36 49 64 81