C++ 函数指针

C++中函数指针表示指向函数的指针,其作用相当于函数的别名,通过函数指针可以直接调用对应的函数。
函数指针有两种表示方式,一种通过typedef进行声明,一种通过新的方式using来进行声明。

函数指针所指向的函数,其对应的形参个数、类型与返回值,都应该相同。

// FuncPtr1为函数指针,表示一种类型
typedef void(*FuncPtr1)(int a, bool b);

// FuncPtr2为函数指针,表示一种类型
using FuncPtr2 = int (*)(int a, int b);

void fun1(int a, bool b)
{
    printf("a = %d\n", a);
}

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

int main()
{
    // 声明函数指针类型,指向对应的具体函数
    FuncPtr1 p11 = fun1;
    FuncPtr2 p21 = fun2;

    // 通过函数指针来调用对应的函数
    p11(6, false);
    int ret = p21(10, 50);
}

posted @ 2024-08-21 14:29  Jeffxue  阅读(39)  评论(0编辑  收藏  举报