一、回调函数在同一文件中的实现
首先看函数原型与函数指针定义的区别:
函数原型:void fun();
函数指针:void (*fun) ();//为简化可自定义一下为:typedef void (*FUN) ();
回调函数实现代码:
typedef void (*CALLBACK) (); //把一个void (*fun) ()这样的函数指针自定义为CALLBACK;
void callback() //回调函数
{
cout << "this is in callback function!" << endl;
}
void funB(CALLBACK cb) //参数为一个函数指针
{
cb();//在此处回调,注意一定要加(),如果回调函数有参数,应该传参数进去
}
int main(int argc, char **argv)
{
funB(&callback);//此处可传callback,也可传&callback,在后面会详细解释
return 0;
}

本文介绍了回调函数的实现,包括在同一文件和类中的应用,强调回调函数必须是全局或静态成员函数。同时,探讨了函数名与函数地址的关系,指出函数名实际上是一个常量函数指针,并列举了不同形式的函数指针作为参数的使用方式。
最低0.47元/天 解锁文章
275

被折叠的 条评论
为什么被折叠?



