C++中函数指针的用法
1.函数指针
函数指针是指向函数的指针变量。每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。
函数指针的声明方法为:
返回值类型 ( * 指针变量名) ([形参列表]);
注:“返回值类型”说明函数的返回类型,“(指针变量名 )”中的括号不能省,括号改变了运算符的优先级。若省略整体则成为一个函数说明,说明了一个返回的数据类型是指针的函数,后面的“形参列表”表示指针变量指向的函数所带的参数列表。
//无参数函数指针 #include<iostream> using namespace std; void hello(){ cout<<"Hello World"<<endl; } int main(){ void (*pf)(); pf=&hello;//pf=hello也可以 (*pf)(); return 0; }
//带参数函数指针 #include<iostream> using namespace std; void hello(char *str){ cout<<"Hello "<<str<<endl; } int main(){ char *str="World"; void (*pf)(char *); pf=&hello;//pf=hello也可以 (*pf)(str); return 0; }
2.typedef的函数指针用法
#include<iostream> using namespace std; typedef int (*fp)(int,int); int add(int a,int b){ return a+b; } int sub(int a,int b){ return a-b; } int main(){ int a = 2,b = 1; fp p1 = &add; cout<<(*p1)(a,b)<<endl; fp p2 = ⊂ cout<<(*p2)(a,b)<<endl; return 0; }

浙公网安备 33010602011771号