Boost系列之Signals2使用
1、前言
Signals2库是Boost中相对较小的一个库,是否方便但是功能强大;在GUI开发中往往需要进行消息通知或者说是信号槽机制,例如Qt的信号槽就非常容易使用,同样的Boost::signals2也是易于使用。
2、学习文档
官方文档:Chapter 36. Boost.Signals2 - 1.68.0
快速入门可以直接查看:Tutorial - 1.68.0 (boost.org),Example programs - 1.68.0 (boost.org)
API查看:Reference - 1.68.0 (boost.org)
其他章节细讲了线程安全以及设计缘由。
3、经典演示
#include <iostream>
#include <boost/signals2.hpp>
void slot1() {
std::cout << "slot1 called" << std::endl;
}
void slot2() {
std::cout << "slot2 called" << std::endl;
}
int main()
{
boost::signals2::signal<void()> sig;
std::cout << "Hello World!\n";
sig.connect(&slot1);
sig.connect(&slot2);
sig();
return 0;
}
依赖库:libboost_signals-vc141-mt-x64-1_68.lib