在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;
}
在上述示例中,我们首先声明了一个函数指针类型FuncPointer
,它指向一个参数为int
类型、返回值为void
的函数。然后定义了一个printNumber
函数,接着在main
函数中,我们定义了一个函数指针变量ptr
并将其初始化为指向printNumber
函数。最后,通过调用函数指针来调用函数。
需要注意的是,函数指针的类型必须与所指向函数的类型匹配,包括参数列表和返回值类型。另外,使用函数指针调用函数时,可以像调用普通函数一样使用函数名加上参数列表,也可以直接使用函数指针变量加上参数列表。