boost的signal和solt机制使用入门
2016-08-06 16:38
405 查看
使用boost.signal
signal-slot在boost中不是纯头文件,需要一个libboost_signals.so文件。
boost.signal提供了一个多播委托机制,通过它可以非常容易的实现观察者模式:
用boost.signal实现多播委托
The Boost C++ Libraries
*****
error: ‘signal_set’ in namespace ‘boost::asio’ does
not name a type
boost.singal不是线程安全的,用boost.singal2吧
LIBS+="-LE:/boost_1_61_0/lib/"-llibboost_signals-mgw49-mt-1_61
signal-slot在boost中不是纯头文件,需要一个libboost_signals.so文件。
boost.signal提供了一个多播委托机制,通过它可以非常容易的实现观察者模式:
void print_sum(float x, float y) { std::cout << "The sum is " << x+y << std::endl; } void print_product(float x, float y) { std::cout << "The product is " << x*y << std::endl; } void print_difference(float x, float y) { std::cout << "The difference is " << x-y << std::endl; } int main() { boost::signal<void (float, float)> sig; sig.connect(print_sum); sig.connect(print_product); sig.connect(print_difference); sig(5, 3); } .
用boost.signal实现多播委托
The Boost C++ Libraries
*****
#include <boost/signals2.hpp> #include <iostream> using namespace boost::signals2; int main() { signal<void()> s; s.connect([]{ std::cout << "Hello, world!\n"; }); s(); } .
error: ‘signal_set’ in namespace ‘boost::asio’ does
not name a type
boost.singal不是线程安全的,用boost.singal2吧
LIBS+="-LE:/boost_1_61_0/lib/"-llibboost_signals-mgw49-mt-1_61
相关文章推荐
- boost的signal和solt机制使用入门
- boost源码剖析之:多重回调机制signal(下)
- boost源码剖析之:多重回调机制signal(上)
- boost源码剖析之:多重回调机制signal(下)
- C#.Net中的反射机制使用入门
- boost源码剖析之:多重回调机制signal(下)
- 走进Boost [Boost 使用入门]
- boost源码剖析之:多重回调机制signal
- Boost 库中的实用工具类使用入门
- boost中signal库使用引例
- Boost 库中的实用工具类使用入门——boost and STL
- boost源码剖析之:多重回调机制signal(下)
- boost源码剖析之:多重回调机制signal(下)
- boost源码剖析之:多重回调机制signal(上)
- Boost 库中的实用工具类使用入门
- 走进Boost [Boost 使用入门]
- boost源码剖析之:多重回调机制signal(下)
- boost源码剖析之:多重回调机制signal(下)
- Qt的signal/slot机制的原理和使用
- MFC:如何使用Boost.Signal2在Document-View结构中添加事件响应机制