如何在C++中运行有指针指向的函数

How do I run a function that I have a pointer to in C++?

本文关键字:指针 函数 运行 C++      更新时间:2023-10-16

假设我有一个指向foo函数的指针。我现在该如何运行它所指向的函数?

如果函数具有以下签名:

void foo(int x);

您已经定义了以下指针:

void (*ptr)(int) = foo;

您可以通过"ptr"执行foo,如下所示:

ptr(12); //actually calls foo(12);

与运行任何其他函数的方式相同:

foo();

假设函数指针是fp

void (*fp)(int);

有两种方法可以从函数指针调用函数:

fp(3);

(*fp)(3);

这两种方法是等效的,但都有各自的优点。在第二种形式中,它向读者明确表示程序中没有名为fp的函数,但fp是一个函数指针。