C++で関数ポインタを定義して使う方法は何ですか?

C++において、関数ポインタは関数を指すポインタ変数です。関数ポインタを定義する基本的な構文は以下の通りです:

返回值类型 (*变量名)(参数列表)

こちらは日本語での表現例です:

#include <iostream>

// 声明一个函数指针类型
typedef void (*FuncPointer)(int);

// 定义一个函数
void printNumber(int num) {
    std::cout << "Number: " << num << std::endl;
}

int main() {
    // 定义一个函数指针变量并初始化为指向printNumber函数
    FuncPointer ptr = printNumber;

    // 使用函数指针调用函数
    ptr(10);

    return 0;
}

上記の例では、まず、int型の引数とvoid型の戻り値を持つ関数を指すFuncPointerという関数ポインタ型を宣言しています。次に、printNumber関数を定義し、その後、main関数内で、printNumber関数を指すように関数ポインタ変数ptrを定義し初期化します。最後に、関数ポインタを呼び出して関数を実行します。

関数ポインタの型は、指す関数の型に一致している必要があります。これには、引数リストや戻り値の型も含まれます。また、関数ポインタを使用して関数を呼び出す際には、通常の関数のように関数名に引数リストを追加するか、関数ポインタ変数に直接引数リストを追加することができます。

bannerAds