C++ 回调函数的简单例子

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/wnlwcg/article/details/6930990

收起

调用端

//下面的这个_stdcall很重要的 
void _stdcall Test(int n, string str) //如果不定义全局变量,而定义在类中 则必须是 静态成员函数
{
  while(n-->0)
  cout<<n<<" "<<str<<endl;
}
int main(int argc, char* argv[])
{
  Call call;
  call.SetFun((MyFun)Test); //调回调函数的接口,并传入一个函数作为参数
  call.LetRun(10,"hello"); 

  printf("Hello World!\n");
  return 0;
}

被调用端

typedef void (_stdcall *MyFun)(int n, string str);

class Call
{
private:
    MyFun myFun;
public:
    void SetFun(MyFun _myFun)
    {
        myFun = _myFun; 
    }

    void LetRun(int n, string str) 
    {
        myFun(n, str); 
    } 
};

回调过程:调用回调接口【SetFun】 并设置一回调接受函数【Test】 -----> 保存 被调用端传来的 参数 【myFun】-----> 等待.....----->

LetRun ----->myFun------>回调到Test

————————————————

版权声明:本文为CSDN博主「wnlwcg」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/wnlwcg/article/details/6930990
原文链接: https://www.cnblogs.com/warmlight/p/12427891.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/194028

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午6:33
下一篇 2023年2月12日 下午6:33

相关推荐