C++11消息总线怎么使用
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容介绍了" C++11消息总线怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是 C
千家信息网最后更新 2026年10月31日C++11消息总线怎么使用
本篇内容介绍了" C++11消息总线怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
什么是 C++11 消息总线 ?
最近在 C++ 项目中需要处理对象之间大量的消息,如果使用传统的 SendMessage 和 PostMessage 会使得对象之间的耦合程度过高,因此我们最后采用了一个基于 C++11 的消息总线库 Message Bus,它有下面的一些优点:
使用简单,发送和接收只需要一条语句,并使用
lambda来简化函数的回调可以使得模块之间高度解偶,这依赖于一个全局的
MessageBus对象支持发送自定义消息或者数据包
支持发送有参和无参消息
基本原理
你可以将 Message Bus 理解为一个全局的消息通道,你可以将自己的加上标识字的消息放到这个通道上,别的模块就可以通过这个标识字来拿到你的消息,这些都依赖与一个全局对象 MessageBus g_bus,它就充当了全局消息通道。
基本使用方法
发送和接受无参消息
发送:
// g_bus 是一个全局变量
extern MessageBus g_bus;
// 发送一个带有 `InitAll` 标识字的无参数消息
g_bus.SendReq("InitAll"); 接收:
// g_bus 是一个全局变量
extern MessageBus g_bus;
// 绑定带有 `InitAll` 标识字的消息,一般在构造函数中进行.
// 一收到消息,InitAll 函数就会被调用,使用了简单粗暴 lambda 表达式
g_bus.Attach([this](){ InitAll(); }, "InitAll");
// 解除绑定带有 `InitAll` 的消息,一般在析构函数中进行
g_bus.Remove("InitAll"); 发送和接受有参消息
发送:
// g_bus 是一个全局变量
extern MessageBus g_bus;YourType m_yourType;
// 发送一个带有 `YourType` 类型参数的有参消息
g_bus.SendReq(m_yourType, "YourType"); 接收:
// g_bus 是一个全局变量
extern MessageBus g_bus;
// 绑定带有 `YourType` 标识字的有参消息,一般在构造函数中进行.
// 一收到消息,you_function 就会被调用,
// 并且发送时候传递的 `m_yourtype` 参数传递到这里的 `your_type`,
// 最终传递到 `you_function`,是不是非常简单。
g_bus.Attach([this](const YourType& your_type){ you_function(your_type); }, "YourType");
// 解除绑定 `YourType` 标识的消息,一般在析构函数中进行
g_bus.Remove("YourType"); " C++11消息总线怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
消息
全局
函数
总线
变量
对象
之间
参数
通道
内容
更多
模块
知识
支持
实用
粗暴
学有所成
接下来
优点
传统
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
为想互联网科技怎么样
猪兼强互联网科技
上海挚品互联网科技
卓越科技(互联网 )
贷财互联网科技
致聘互联网科技
苏州大垚互联网科技
天速互联网络科技有限公司
济南华为互联网科技产业总部基地
浙江互联网科技研学营
保险科技服务互联网营销体系
互联网科技公司营业执照怎么办理
上海科技产业互联网平台
锡山区互联网智能科技产品供应
中国互联网有什么科技
江苏苏星互联网科技有限公司
互联网科技接地气
数字科技和互联网金融哪个好
安徽九吞吴互联网科技有限公司
知域互联网科技有限公司官网
朗新科技与工业互联网
凡科互联网科技
九亚互联网科技
农村开互联网科技讲堂
工业互联网展湾科技股份有限公司
厦门江牛科技互联网
互联网科技平台产品运营
科技和互联网行业的特点
河南商务圈互联网科技有限公司
互联网科技创业有什么好项目