有没有试过将函数作为参数(parameter)来传递?(推荐)

发表于:2007-07-01来源:作者:点击数: 标签:
我们在传递函数的参数时,一般想到的都是一些诸如int,char,还有指针,引用之类 有没有想过将另外一个函数作为一个参数来传给调用函数呢? 也许这个功能比较少用,但真的很有效。 看看下面的例子 bool up(int a,int b) {return ba;} //两个简单的函数,执行

我们在传递函数的参数时,一般想到的都是一些诸如int,char,还有指针,引用之类

有没有想过将另外一个函数作为一个参数来传给调用函数呢?

也许这个功能比较少用,但真的很有效。

看看下面的例子

bool up(int a,int b) {return b<a;} //两个简单的函数,执行着相反的功能

bool down(int a,int b) {return b>a;}



void sort(int array[],const int size,bool (*comp)(int,int))

//看清楚喽,上面是一个函数的指针

{
。。。//你可以进行任意一个数组排序了

}


然后,就可以这样调用了。 


sort(myintarray,myintarraysize,up);想想,看有没有其它的用途,比如说代替头痛的递归呢。

原文转自:http://www.ltesting.net