/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All rights reserved
*文件名称:123.cpp
*作 者:王蕊
*完成日期:2016年6月6日
*版 本 号:v1.0
*
*问题描述:阅读下面的程序,对照运行结果,领会STL的用法
*/
#include <algorithm>
#include <functional>
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;
class myAdd: public binary_function<int,int,int>
{
public:
int operator()(int a, int b) const
{
return a+b;
}
};
int main()
{
int a[5]= {1,2,3,4,5};
vector<int> my(5);
transform(a,a+5,my.begin(),bind2nd(myAdd(),4));
copy(my.begin(),my.end(),ostream_iterator<int>(cout," "));
cout<<endl;
transform(a,a+5,a,my.begin(),myAdd());
copy(my.begin(),my.end(),ostream_iterator<int>(cout," "));
cout<<endl;
return 0;
}
运行结果: