我搜索了一些关于“回调函数”的信息,但我认为我并不理解它的真正含义。我写了一些代码来练习。
这是代码
void *callbackfunction(int m1,void*d1)
{
cout<<"called CBF() "<<m1<<endl;
return (void*) callbackfunction;
}
void accpt(int m1,void*m2(int m3,void*d1))
{
char a='a';
m2(m1,&a);
callbackfunction(m1,&a);
cout<<m1<<" "<<endl;
}
void c()
{
void (*callback)(int,void*callbackfunction(int,void*));
callback=accpt;
callback(1, callbackfunction);
}
int main(int argc, const char * argv[])
{
c();
return 0;
}
不仅仅是简单地调用call call函数,为什么不调用它,而不使用函数指针?
m2(m1,&a);
callbackfunction(m1,&a);
回调函数是否有其他优势,或者我的观点是错误的? 请帮助我