[juliantec_list] Re: 函数指针都用在什么地方啊?

  • From: 蒋雨 <54jiangyu@xxxxxxxxx>
  • To: Yihe Chen <yihect@xxxxxxxxxxxxxx>
  • Date: Sun, 27 Feb 2011 09:10:26 +0800

>
> 函数指针是个有趣的东西。就像其他普通的指针一样,函数指针指向的
> 也是一块特定大小内存,但里面装的不是普通的数据,而是函数代码,
> 也就是一段指令。假如你给人家提供了指向这段代码的函数指针,那人
> 家就可以来调用这个函数。
>
> 这很有用。在GUI系统里面,通常有个概念叫做"callback"。GUI系统
> 自己本身就有能力去显示单独的一条线段,一个矩形,一个椭圆等等,
> 这些东西实际上构成了整个用户界面。
>
> 那比如,你按一个按钮下去,按照需求,当这个按钮按下去的时候,是要
> show出一个对话框。在这个对话框的左上角显示一个园,正中间显示一个
> 五边型,然后在最下面显示一条线段。那你就得自己编写一个函数,使用
> GUI系统所导出来的函数去实现这些画的动作。
>
> 然后你把你写的函数的指针传递给GUI系统。在GUI系统检测到用户按下这个
> 按钮后,它会去通过函数指针调用你提供给它的这个函数,来实际画出整个
> 对话框,这就叫做 callback。
>

恩,我们之前在写 Win32 程序的时候,都是进行消息处理的。比方按扭被按下
了,系统会产生一个消息给窗口过程,然后在窗口过程中分别处理不同的消息。
这和你说的 callback 有异曲同工之妙啊,呵呵。

Other related posts: