Posted on 2008-06-05 11:35
RichardHe 阅读(860)
评论(0) 编辑 收藏 引用
今天一直在学习使用BOOST中的FUNCTION和BIND;
boost::bind(&类::方法,对象指针,_1等);//如果有函数的话,后面数字就几个参数
bind返回的是一个函数指针对象.所以再赋值给一个函数对象
如:boost::function(返回类型(参数类型,参数类型)) funptr
赋值为:funptr = boost::bind(.....);
这次以后就可以不再用这个类的对象了,直接用函数对象调用
如funptr(参数......)
这样的优点我无法表达.网上有人说是简化了COMMAND这种设计模式
不用再去定义类成员函数形式的函数对象,只是普通函数对象
泛型函数:
struct functor // 这是个仿函数类,形式为int(int)
{
int operator()(int)
{
}
}
functor f3;//创建仿函数对象