boost::function与boost::bind 的使用
2017-06-05 16:01
393 查看
0x01 为啥?
为啥要用这个?这个用起来有什么好处?查了下资料陈硕大哥的见解:http://blog.csdn.net/solstice/article/details/3066268下面也说说我的想法:每个技术点都有适合的用法,使用某项技术点,还是依据整个团队的技术成熟度、熟悉度等。
最近在阅读haoxingeng的服务器框架ise,发现其用法,于是有学习了一把。
我想这个场景会使用到,程序运行时动态选择执行函数和模块。动态运行时调用函数的常用做法如下:
C的做法:函数指针、动态加载动态库。
C++的做法:多态、继承。
0x02 特点?
为啥boost这么做,优势是什么?0x03 怎么用?使用场景?
以ISE框架中的example中例子来做详细的解析:自动析构器:
class AutoFinalizer : boost::noncopyable { public: AutoFinalizer(const Functor& f) : f_(f) {} ~AutoFinalizer() { f_(); } private: Functor f_; };
调用地方:
if (iseApp().parseArguments(argc, argv)) { AutoFinalizer finalizer(boost::bind(&IseApplication::finalize, &iseApp())); iseApp().initialize(); iseApp().run(); }
作用域结束,自动调用finalize函数;
简单理解,有错请指教。
相关文章推荐
- C++ boost bind与 boost function的使用
- boost综合使用<function,bind,thread,mutex,condition_variable,shared_ptr>
- Boost.Bind和Boost.Function的一种搭配使用法
- 关于boost::function与boost::bind函数的使用心得
- C++中std::tr1::function和bind 组件的使用 和 以boost::function和boost:bind取代虚函数
- boost::function/bind 的使用
- boost的库中bind和function使用实例
- 使用boost::bind和boost::function实现工厂模式
- boost::bind和boost::function使用示例
- 【Boost】boost库中function和bind一起使用的技巧(一)
- 【Boost】boost库中function和bind一起使用的技巧(二)
- 一个类里可以注册不同类型的消息及boost:function和boost:bind的使用
- 关于boost::function与boost::bind函数的使用心得
- boost::bind 与 boost::function 的使用方法例子
- boost function和bind的使用
- [boost]使用boost::function和boost::bind产生的down机一例
- 关于boost::function与boost::bind函数的使用心得
- boost::bind的使用
- VS2005中使用boost ::bind导致error PRJ0002
- <转载>Boost.Bind的基础使用