C++関数ポインタをパラメータとして渡す方法は何ですか?

C++では、他の関数に関数ポインタを引数として渡すことができます。以下はその例です。

#include <iostream>

// 定义一个函数指针类型
typedef void (*FunctionPtr)(int);

// 接受函数指针作为参数的函数
void printNumber(FunctionPtr ptr, int num) {
    ptr(num);
}

// 被传递的函数
void printSquare(int num) {
    std::cout << "Square: " << num * num << std::endl;
}

int main() {
    // 将函数指针作为参数传递给另一个函数
    printNumber(printSquare, 5);

    return 0;
}

上の例では、まず、int型の引数を受け取りvoidを返す関数ポインタのFunctionPtrタイプを定義しました。次に、関数ポインタを引数として受け取り、受け取った関数ポインタを呼び出すprintNumberという関数を定義しました。最後に、main関数で、printSquare関数のポインタをprintNumber関数に引数として渡しました。

プログラムを実行すると、次の出力が表示されます:

Square: 25

このことは、関数ポインターが他の関数に正常に渡されることを証明しています。

bannerAds