这两天看到一些介绍回调函数的文章,感到有一些收获总结一下。
本人感觉回调函数属于在C语言的基础上实现以下多态,减少函数代码之间的依赖程度,使一个函数更加拥有通用性,但是不知道现在还广泛应用的原因???
这个还要进一步学习。
首先需要了解的就是函数指针,实际上指针就是一个地址,同样对于一个函数在运行时候应该在代码段,给其分配一个内存块,函数名指向的地址就是这个数据块的起始地址,因此也可以通过像指针来操作数据项的形式,通过函数指针来操作函数。
回调函数就是利用传递函数指针到函数当中来实现函数回调。
一个简单的例子,排序函数,Sort(Array begin ,Array_size size,Compare (*fun)());
函数中第三个参数为函数指针,因此当比较不同的数组类型的时候,例如比较int类型和string类型的时候,只要传递给函数不同的比较类型即可,从而实现一个排序算法来实现对不同数据类型进行排序,实现了,很好的封装。
学习回调函数当中,慢慢丰富ing