c++怎么通过定义回调函数传回数据?

c++怎么通过定义回调函数传回数据?如题,使用者按照要求定义函数,然后我给他传回数据。大概怎么写

ibeautiful
浏览 1224回答 2
2回答

繁星点点滴滴

回调函数是C++从C语言继承而来的语言特性,就是函数指针的应用。typedef void* (*CallbackFunc)(void*); 这里定义了一个type,它是函数指针类型,指向以void*为参数,并返回void*的指针(注意*的位置和括号的位置);然后 void MyUseCallbackFunc(CallbackFunc func); 用CallbackFunc作为参数类型;然后写具体的CallbackFunc实现:void* MyCallback(void* ctx) { ... 这里是你自己的回调代码 }; 最后调用回调使用函数 MyUseCallbackFunc(MyCallbackFunc);

慕哥9229398

123456789101112131415161718192021222324252627282930#include<stdio.h>typedef&nbsp;void&nbsp;(*&nbsp;FUNC_POINTER)(char&nbsp;*);&nbsp;&nbsp;void&nbsp;callback1(char&nbsp;*s){&nbsp;&nbsp;&nbsp;&nbsp;printf("%s\n",s);}&nbsp;void&nbsp;callback2(char&nbsp;*s){&nbsp;&nbsp;&nbsp;&nbsp;printf("[");&nbsp;&nbsp;&nbsp;&nbsp;printf("%s",s);&nbsp;&nbsp;&nbsp;&nbsp;printf("].\n");}&nbsp;void&nbsp;func(char&nbsp;*s,FUNC_POINTER&nbsp;p){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p(s);}&nbsp;int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;FUNC_POINTER&nbsp;p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;callback1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;func("callback1",p);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;callback2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;func("callback2",p);&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}
打开App,查看更多内容
随时随地看视频慕课网APP