之前项目中用到学习了一下,今天总结总结
bind生成一个仿函数,可以配接任意函数(裸函数,类成员函数,静态成员函数)指定参数传递方式个数。在需要仿函数的地方(accumulate,for_each等)超级好用
#include <iostream>
#include <algorithm>
#include <numeric>
#include <map>
#include <vector>
#include <boost/bind.hpp>
using namespace std;
struct comp {
pair<double, double> operator()(const pair<double, double>& init, double x) const {
return make_pair(init.first + x, init.second + x*x);
}
};
class A {
public:
pair<double, double> sum(const pair<double, double>& init, double x) const {
return make_pair(init.first + x, init.second + x*x);
}
};
pair<double, double> sum(const pair<double, double>& init, double x, double y, double z) {
return make_pair(init.first + x + y, init.second + x*x);
}
pair<double, double