关于STL中函数对象的问题

STL算法是如何操作函数对象功能的呢?如何把函数对象与要操作的容器类对象关联起来的啊?... STL算法是如何操作函数对象功能的呢?如何把函数对象与要操作的容器类对象关联起来的啊? 展开
 我来答
北风微风
2009-10-03 · TA获得超过1094个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:0
展开全部
算法和函数对象,算法和容器类(通过容器类的迭代器),函数对象和类对象都是通过参数联系起来的,属于松散耦合的。下面是个典型的例子:

#include <iostream>
#include <vector>
#include <numeric>
#include <functional>

using namespace std;

template <class T>
class SumSquares : binary_function<T, T, T> {
public:
const T operator()(const T& total, const T& value) {
return total + value * value;
}
};

int main() {
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
int result = accumulate(v.begin(), v.end(), 0, SumSquares<int>());
cout << result << endl;
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式