我有一个一维函数的最小化器。目前我正在传递函数指针。然而,许多函数具有多个参数,其中一些被固定。我使用了functor来实现这一点,如下所示:
template <class T>
minimize(T &f) {
}
Functor f(param1, param2);
minimize<Functor>(f);
然而,函数对象的定义却非常冗长。使用 Boost::bind 更加简洁。因此,我可以这样做:
minimize(boost:bind(f,_1,param1,param2))
然而,我不清楚如何使用boost::bind
来声明我的minimize
。那么,boost::bind
是什么类型的对象呢?有没有一种简单的模式可以避免使用函数对象的样板代码,但又允许多个参数绑定?