本文转载自:https://www.runoob.com/w3cnote/cpp-func-pointer.html
1、函数指针
函数存放在内存的代码区域内,它们同样有地址,如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。
2、定义方式
data_types (*func_pointer)( data_types arg1, data_types arg2, ...,data_types argn);
例如:
int (*fp)(int a); // 这里就定义了一个指向函数(这个函数参数仅仅为一个 int 类型,函数返回值是 int 类型)的指针 fp。
实例:
int test(int a)
{
return a;
}
int main(int argc, const char * argv[])
{
int (*fp)(int a);
fp = test;
cout<<fp(2)<<endl;
return 0;
}
注意:函数指针所指向的函数一定要保持函数的返回值类型,函数参数个数,类型一致。