C++中的回调函数,一般用来传递一个函数地址,个人看法,这个回调函数在C语言里,能够做出 面向对象的思想来:多态。因为你可以在同一个母函数里,接受同等数量形参的子函数。下面是一个最简单的回调函数:
#include<iostream>
#include<string>
using namespace std;
/*typedef int (*Func)();
void callback1(Func fun)
{
fun();
}
*/
typedef string& (*Func)(string &s);
string& call(string &url)
{
cout<<url<<"in the call"<<endl;
return url;
}
string& callback(string &s,Func fun)
{
cout<<1000<<endl;
string p=fun(s);
cout<<100<<p<<endl;
return s;
}
int main( )
{
string p="wwwgooglecom";
string names=callback(p,call);
cout<<names<<endl;
}