文章目录
1.程序算法
- 1.程序算法
- 2.作者答疑
在阅读本本文前,希望读者仔细阅读学习下本博客下的讲解boost函数对象的那篇文章和bind对象那篇文章,非常简短,却是必须先要了解的知识。信号槽是一种典型的观察模式,如果读者对观察模式不太了解可以查阅下资料。简单来说,就是在需要观察的目标对象注册自己的回调函数(槽函数),当目标对象发生某个事件(信号)时,与该事件相连的所有回调函数会被调用。 接下来以此为逻辑,分为两种,给读者讲解。 首先是全局函数,或者说非类内函数。解释写在注释里,例子代码如下:
#include
#include
#include
#include
class Button{
private:
typedef boost::signals2::signal SignalDef; //信号函数对象类
typedef boost::signals2::signal::slot_type SlotType;//槽函数对象类
private:
SignalDef m_MySignal;//信号函数对象变量
boost::signals2::connection m_Connection;//链接对象变量
public:
boost::signals2::connection RegisteFunction(const SlotType& type){
m_Connection = m_MySignal.connect(type);
return m_Connection;
}
void SendSignal(){
m_MySignal(10, 20);
}
};
void fun1(int a, int b){
std::cout
关注
打赏
热门博文
- Adobe illustrator插件开发-SPInterfaceSuite-插件A向插件B传递消息-插件通信-AI插件开发
- javascript-ztree-树形控件-初始化-加载节点数据-节点数据获取
- Adobe illustrator插件开发-坐标系统-AIHardSoftSuite-画板坐标-页面坐标-AI插件开发
- Adobe illustrator插件开发-AIUIDUtilsSuite-AIUIDPoolSuite-AIUIDSuite-AIUIDREFSuite-Art唯一标识符与索引-AI插件开发
- C++-逆向分析-类的成员函数地址与对象地址动态绑定-this指针-成员函数和成员虚函数反汇编解析
- C++-逆向分析-结构体和类-内存布局-this指针-静态数据成员-对象作为参数和返回值
- Adobe illustrator插件开发-命令名称-AddCommand -AI插件开发
- Adobe illustrator插件开发-事件-PlugPlugAddEventListener-向系统注册事件-AI插件开发
- Adobe illustrator插件开发-ole拖拽粘贴交换数据格式-RegisterClipboardFormat函数-AI插件开发
- Adobe illustrator插件开发-所有模块列表-内部存在大量非公开的Suite-AI插件开发