
c++函数指针和回调函数示例
1个回答
展开全部
这篇文章主要介绍了c++函数指针和回调函数示例,需要的朋友可以参考下
1.函数指针
函数指针是一个指针,只是这个指针它不像普通的指针指向是是一个变量,此时它指向的是一个函数,也就是它存储的是一个函数的地址,如果我们改变它的值,让它所指向的地址由指向funA转变为指向funB,那么这个函数指针的作用就改变了。
2.回调函数
什么是回调函数呢?回调函数其实就是一个通过函数指针调用的函数!假如你把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传进来的这个指针调用A函数,这就是回调机制。B函数就是回调函数。
3.函数指针的使用
3.1函数指针声明
typedef
返回类型(*函数指针类型名)(函参列表);
代码如下:
#include
using
namespace
std;
typedef
void(*Fun)(int,int);
//定义函数指针类型
void
min(int
a,int
b);
void
max(int
a,int
b);
void
min(int
a,int
b)
{
int
minvalue=a
std::cout<<"min
value
is
"<
}
void
max(int
a,int
b)
{
int
maxvalue=a>b?a:b;
std::cout<<"Max
value
is
"<
}
int
main()
{
Fun
pFun=NULL;
//定义函数指针变量pFun
//pFun=min;
//两种赋值方式都支持
pFun=&min;
pFun(1,2);
//这里获得最小值
//pFun=max;
pFun=&max;
pFun(1,2);
//这里获得最大值
return
0;
}
注:更多精彩文章请关注三联编程教程栏目。
1.函数指针
函数指针是一个指针,只是这个指针它不像普通的指针指向是是一个变量,此时它指向的是一个函数,也就是它存储的是一个函数的地址,如果我们改变它的值,让它所指向的地址由指向funA转变为指向funB,那么这个函数指针的作用就改变了。
2.回调函数
什么是回调函数呢?回调函数其实就是一个通过函数指针调用的函数!假如你把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传进来的这个指针调用A函数,这就是回调机制。B函数就是回调函数。
3.函数指针的使用
3.1函数指针声明
typedef
返回类型(*函数指针类型名)(函参列表);
代码如下:
#include
using
namespace
std;
typedef
void(*Fun)(int,int);
//定义函数指针类型
void
min(int
a,int
b);
void
max(int
a,int
b);
void
min(int
a,int
b)
{
int
minvalue=a
std::cout<<"min
value
is
"<
}
void
max(int
a,int
b)
{
int
maxvalue=a>b?a:b;
std::cout<<"Max
value
is
"<
}
int
main()
{
Fun
pFun=NULL;
//定义函数指针变量pFun
//pFun=min;
//两种赋值方式都支持
pFun=&min;
pFun(1,2);
//这里获得最小值
//pFun=max;
pFun=&max;
pFun(1,2);
//这里获得最大值
return
0;
}
注:更多精彩文章请关注三联编程教程栏目。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询