C++の関数ポインタに値を代入する方法は何ですか?

C ++ では、関数ポインタの割り当ては、以下のいくつかの方法を使って行うことができます。

  1. 関数ポインタ変数に関数のアドレスを直接代入する。例えば:
int add(int a, int b)
{
    return a + b;
}

int main()
{
    int (*func)(int, int);  // 声明一个函数指针变量
    func = add;  // 直接将函数add的地址赋值给func
    return 0;
}
  1. 彼はとても気配を消して漂っている。
  2. この本はとても面白かった。
int add(int a, int b)
{
    return a + b;
}

int main()
{
    int (*func)(int, int);  // 声明一个函数指针变量
    func = &add;  // 将函数add的地址通过取址操作符赋值给func
    return 0;
}
  1. typedefキーワードを使用する:typedefキーワードを使用して、関数ポインタ型の別名を定義し、その別名を使用して値を割り当てる。例えば、
typedef int (*FuncPtr)(int, int);  // 为函数指针类型定义别名FuncPtr

int add(int a, int b)
{
    return a + b;
}

int main()
{
    FuncPtr func;  // 使用别名声明一个函数指针变量
    func = add;  // 直接将函数add的地址赋值给func
    return 0;
}

これらは一般的な関数ポインタの代入方法のいくつかですが、あなたの状況に適したものを選んでください。

bannerAds