[c++] 함수 포인터

함수 포인터를 선언하려면 함수의 반환형과 매개변수를 일치시킨 다음에 (*포인터이름)의 형태로 선언합니다.

아래는 C++에서 함수 포인터를 사용하는 간단한 예제입니다.

#include <iostream>

void sayHello() {
    std::cout << "Hello, ";
}

void sayWorld() {
    std::cout << "World!";
}

int main() {
    void (*functionPtr)(); // 함수 포인터 선언
    functionPtr = sayHello; // 함수를 가리키도록 설정
    (*functionPtr)();       // 함수 호출
    
    functionPtr = sayWorld; // 다른 함수를 가리키도록 설정
    (*functionPtr)();       // 다른 함수 호출

    return 0;
}

이 예제에서 sayHellosayWorld 함수는 void 반환형과 매개변수가 없는 함수입니다. 이 둘을 가리킬 수 있는 functionPtr 함수 포인터를 선언하고, 이를 통해 동적으로 함수를 선택하여 호출하는 방법을 보여줍니다.

함수 포인터는 함수 포인터 배열, 콜백 함수 등과 같이 유용하게 사용될 수 있습니다. 또한 C++11부터는 std::function과 람다 표현식을 통해 보다 유연하고 강력한 함수 객체를 활용할 수 있습니다.

더 자세한 내용은 cppreference.com을 참고하시기 바랍니다.