boost::function 通过boost::bind调用类成员函数

<?xml version="1.0" encoding="UTF-8"?> 1. 首先引用boost::function和boost::bind的头文件和库;

#include "boost/bind.hpp"
#include "boost/function.hpp"

          
2. 声明自己的function模板

typedef boost::function<void(ICommandContextEx*)> CMDHANDLER;

3. 写出自己类及成员函数

class CCommunicationMap
                {
                public:
                                CCommunicationMap(void);
                                ~CCommunicationMap(void);

                public:
                                void TestCommand( int nParam);
                };

 
4. 关联成员函数到boost::function中

                    
                          CCommunicationMap m_communication ;

                                CMDHANDLER fun;
                                fun boost::bind(&CCommunicationMap::TestCommand, &m_communication, _1);

上面的bind语法的意思: 传入类成员函数指针, 类对象指针, _1表示占位符, 通过_1占位传入参数int nParam;

5. 调用方法

          fun(22); //22通过_1传入。

转载于:https://www.cnblogs.com/muzizongheng/p/3169075.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值