C++ 中回调函数详解及简单实例

发布时间 - 2026-01-11 01:54:16    点击率:

C++ 中回调函数详解及简单实例

回调函数调用关系图

 

对于第一种情况,主程序可以从执行到回调函数,也可以不执行回调函数,关键看宿主函数是否调用了回调函数。

对于第二种情况,主程序可以从执行到回调函数,也可以不执行回调函数,关键看宿主函数是否调用了回调函数。主程序不知道宿主函数什么时候调用回调函数,因为调用函数启动了线程,这样,主程序就不必关心宿主函数什么时候调用回调函数了,主程序可以释放出来做自己的事了。

代码示例

#include <stdio.h> 
 
typedef void(*lpFunc)(void *, char *);  // 函数指针 
// 回调函数的宿主函数,在这里回调用函数被使用, 
void GetCallBack(void * lpVoid, lpFunc callback) 
{ 
    callback(lpVoid, "test"); 
} 
  
  
class A{ 
public: 
    A(){}; 
    
    void outName(char szAlarm[]){ 
       printf("my name is %s /n", szAlarm);    
    } 
    
    // 被宿主调用的回调函数 
    static void fCallback(void *lpVoid, char szAlarm[]){ 
       A * p = (A*)(lpVoid); 
       p->outName(szAlarm); 
    } 
    
    //调用外部宿主函数,当Test函数调用过宿主函数以后,Test就再也不关心宿主函数 
    //什么时候调用回调函数了,因为那时宿主函数自己的事了 
    void Test(){ 
       GetCallBack(this, fCallback); 
    } 
}; 
 
int main(void) 
{ 
    A a; 
    a.Test(); 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# C++  # 中回调函数详解  # 回调函数  # C++中回调函数(CallBack)的用法分析  # c++函数指针和回调函数示例  # C++函数指针和回调函数使用解析  # 简单聊聊C++中回调函数的实现  # C/C++回调函数介绍  # C++回调函数的理解和使用教程  # C/C++中的回调用法详细讲解  # 回调  # 主程序  # 什么时候  # 自己的  # 事了  # 也不  # 在这里  # 希望能  # 来做  # 谢谢大家  # 第二种  # 第一种  # 就再  # 启动了  # 释放出  # cpp  # brush  # lt  # include  # class 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: phpredis提高消息队列的实时性方法(推荐)  如何挑选优质建站一级代理提升网站排名?  如何用AWS免费套餐快速搭建高效网站?  如何登录建站主机?访问步骤全解析  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  免费网站制作appp,免费制作app哪个平台好?  如何用腾讯建站主机快速创建免费网站?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  使用Dockerfile构建java web环境  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Laravel如何使用Gate和Policy进行授权?(权限控制)  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  米侠浏览器网页背景异常怎么办 米侠显示修复  长沙企业网站制作哪家好,长沙水业集团官方网站?  iOS发送验证码倒计时应用  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  三星、SK海力士获美批准:可向中国出口芯片制造设备  BootStrap整体框架之基础布局组件  香港服务器租用每月最低只需15元?  Python高阶函数应用_函数作为参数说明【指导】  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Laravel怎么上传文件_Laravel图片上传及存储配置  网站制作大概多少钱一个,做一个平台网站大概多少钱?  北京网站制作的公司有哪些,北京白云观官方网站?  Swift开发中switch语句值绑定模式  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  实现点击下箭头变上箭头来回切换的两种方法【推荐】  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  如何快速搭建支持数据库操作的智能建站平台?  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  如何用IIS7快速搭建并优化网站站点?  *服务器网站为何频现安全漏洞?  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Linux安全能力提升路径_长期防护思维说明【指导】  如何在自有机房高效搭建专业网站?  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  如何挑选高效建站主机与优质域名?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何在万网自助建站平台快速创建网站?  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  如何快速启动建站代理加盟业务?  python中快速进行多个字符替换的方法小结  海南网站制作公司有哪些,海口网是哪家的?