[c++] 함수 객체 활용

함수 객체는 함수처럼 동작하는 객체를 말합니다. C++에서 함수 객체는 함수 포인터보다 유연하며 성능상의 이점을 제공합니다. 함수 객체는 operator()를 오버로딩하여 호출될 때 동작을 정의합니다.

함수 객체의 장점

함수 객체는 상태를 가질 수 있으며, 런타임에 생성되는 데이터를 저장할 수 있어 매우 유연합니다. 또한 인라인화된 함수처럼 최적화 되어 빠르게 동작할 수 있습니다.

예시 코드

다음은 간단한 함수 객체의 예시 코드입니다.

#include <iostream>

// 함수 객체 정의
class Adder {
public:
    Adder(int num) : num_(num) {}

    int operator()(int x) const {
        return x + num_;
    }

private:
    int num_;
};

int main() {
    Adder add5(5); // 함수 객체 생성
    std::cout << add5(10) << std::endl; // 출력: 15
    return 0;
}

함수 객체의 활용 예시

함수 객체를 활용하여 더 유연하고 성능적으로 효율적인 C++ 프로그램을 작성할 수 있습니다.

참고 자료