回调函数批本质,求资深专家反驳!!!

来源:互联网 发布:东方财富网龙虎榜数据 编辑:程序博客网 时间:2024/04/30 19:46

有4个文件,a.h,a.cpp;b.h,b.cpp

其中,

a.h中内容 void fun1(void); 

void fun2(void); 

void fun3( void(*ptr)(void) ); 

a.cpp中内容 void fun1(void) {   }

void fun3( void(*ptr)(void) ){ (*ptr)() ;}

b.h中内容 #include"a.h"

void fun4(void); 

void fun5(void);

b.cpp中内容 void fun2(void){}

void fun4( void){ fun1(); }

void fun5(void) { fun3(fun2); }


普通函数:fun1,fun3

回调函数:fun2;

回调的个人理解的2个点:1、声明与实现分离为a,b两层。2、b中#include"a.h",但fun2是由a层调用b层,正常是b层调用a层,因此称回调。




void fun2(void);