回调函数(回调函数callback)
本篇文章给大家谈谈回调函数,以及回调函数callback对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
请问什么叫做回调函数
回调函数就是callback函数。是系统给用户的开放接口程序。
当某事件发生时,系统需要处理这一事件,例如键盘输入事件发生,例如屏幕图像更新事件发生,如果你给了“回调函数”,系统则用你给的程序去处理,如果没给,系统就用默认方法处理。
OpenGL的 GLUT程序就是这样。例如函数:
glutDisplayFunc(display);这里的display就是你写的如何“画”屏幕的函数名。
glutKeyboardFunc(press_s);这里的press_s就是你写的如何处理键盘输入事件的函数名。
函数的参数,系统也许有约定,也许允许你写一大串。
具体的display函数和press_s用户要提供。例如:
void display()
{
float v[3],n[3]; float text_color[3]={1.,0.,0.};
int i,j;
Point p1,p2,p3,p4;
glMatrixMode(GL_MODELVIEW);
glClearColor(1.0,1.0,1.0,1.0);
glClear(GL_COLOR_BUFFER_BIT);
glDrawBuffer(GL_BACK);
glMaterialfv(GL_FRONT, GL_AMBIENT, mat1_ambient);
glPushMatrix();
glBegin(GL_TRIANGLES);
。。。。
}
void press_s(unsigned char key, int x, int y)
{
FILE* fout;
int bmp_w,bmp_v, win_buff_size;
...
switch(key)
{ case'q': exit(1); break;
case'x': glTranslatef(10.,0.,0.); glutPostRedisplay();
...
}
什么叫回调函数
帮您查了一下,如下:
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
回调方法是任何一个被以该回调方法为其第一个参数的其它方法调用的方法。很多时候,回调是一个当某些事件发生时被调用的方法。
什么是回调函数,该如何处理
A(主调)调用 B(被调)
让B完成一些事情。
但是这个事情有可能耗时很久,也有可能需要多次通知A。这样就无法通过参数或者返回值方式来通知A。
于是A给B一个专用线路C(回调函数指针)
当B需要通知A的时候,就调用C,这样C就知道了。
这就是回调函数。
如果这时冒出来一个D,也调用B,传的回调是E。
这样C就可以根据完成了谁的事情,调用C或者E,来回传给各自主调。
回调函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于回调函数callback、回调函数的信息别忘了在本站进行查找哦。