1、获取函数地址:
获取函数的地址很简单:只要使用函数名(后面不跟参数)即可。
2、声明函数指针
声明指向某种数据类型的指针时,必须指定指针指向的类型。同样,声明指向函数的指针时,也必须指向指针指向的函数类型。
格式:
double (*pf)(int)
函数返回值类型 + (函数指针)+ (函数参数类型 )
示例:
#include<iostream>
using namespace std;
double betey(int);
double pam(int);
void estimate(intlines,double (*pf) (int));
int main() {
usingnamespace std;
intcode;
cout<< "How many lines of code do you need ?";
cin>> code;
cout<< "here is Betsy's estimate:\n";
estimate(code,pam);
return0;
}
double pam(int lns){
return0.05*lns;
}
double betey(intlns) {
return0.03*lns + 0.0004*lns*lns;
}
void estimate(intlines, double(*pf)(int)) {
cout<< lines << " lines will take!!!";
cout<< (*pf)(lines) << " hours \n";
}
3、深入探讨函数指针
在函数原型中,参数列表constdouble ar[] 与 const double*ar 的含义完全相同。其次,在函数原型中,可以省略标识符。因此,const double ar[] 可简化成const double [] ,而 const double *ar 可简化为 const double *;