boost.bind介绍与实例

boost.bind顾名思义就是用来将函数按照特定的接口规范将已经有的但是接口不一致的函数转化成规定的接口的一种Adaptor技术,是Adaptor模式的一种具体实现.我最早是在STD当中看到的 。

int  f( string  str1, string  str2)
{
  cout
<< " f( " + str1 + " , " + str2 + " ) " << endl;
  
return   0 ;
}


使用boost.bind可以将f函数转化成为你想要的重载的三个函数
1.使用boost::bind(f,_1,str1)(str2)就相当于调用了函数f(str2,str1)
2.使用boost::bind(f,str1,_2)(str2)就相当于调用了函数f(str1,str2)
3.使用boost::bind(f,_1,_2)(str1,str2)就相当于调用了函数f(str1,str2)

其中的_1,_2只是占位符(placeholder)

 

boost::bind按照某种规则放入到队列当中可以轻轻松松写出一个包含消息循环的回调框架出来.

 

具体讨论参见我的帖子:

http://community.csdn.net/Expert/topic/5250/5250583.xml?temp=.1349604

欢迎大家讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值