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】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

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

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

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

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

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

(0)
上一篇 2023年3月1日 下午9:18
下一篇 2023年3月1日 下午9:19

相关推荐