Chinaunix首页 | 论坛 | 博客
  • 博客访问: 51776
  • 博文数量: 35
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 315
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-10 10:44
文章存档

2011年(1)

2008年(34)

我的朋友
最近访客

分类: C/C++

2008-12-10 11:13:29

回调函数的设计

函数指针的两个常见用法是,一是做为结构成员,做面向对向的封装,另一个就是回调函数的设计。
所谓回调函数,也就是把函数传递给另一个函数,另一个函数在某一种调用这个函数,可以想见,另一个函数对应的形参就是一个函数指针:
[code]int add(int a,int b)
{
return a+b;
}

int do_it(int (*ADD)(int,int),int a,int b)
{
printf("%d\n",ADD(a,b));

return 0;
}

int main(int argc,char **argv)
{
int a=3,b=4;

do_it(add,a,b);
}[/code]
这个例子,ADD是一个函数指针,它做形参使用,为时候为了使用typedef,简单代码:

[code]typedef int(*ADD)(int,int);

int add(int a,int b)
{
return a+b;
}

int do_it(ADD func,int a,int b)
{
printf("%d\n",func(a,b));

return 0;
}

int main(int argc,char **argv)
{
int a=3,b=4;

do_it(add,a,b);
} [/code]
阅读(465) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:关于回调

给主人留下些什么吧!~~