/*
*Copyright(c)2016.烟台大学计算机学院
*All right reserved.
*文件名称:test.cpp
*作者:黄金婵
*完成日期:2016年6月21日
*版本号:v1.0
*
*问题描述:阅读程序
*程序输入:
*程序输出:
*/
#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;
}
知识点总结:
STL 是泛型概念的一套实作品。从学理上来说,它其实是一套严谨的 "concepts" 分类学。这里所谓的 concepts 有其严肃定义,意指「对某种型别的一些条件需求」。满足这些条件者,称为该 concepts 的 models。