我们在传递函数的参数时,一般想到的都是一些诸如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);
想想,看有没有其它的用途,比如说代替头痛的递归呢。