/*
*Copyright(c) 2016, 烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:李德坤
*完成日期:2016年6月4日
*版本号:v1.0
*
*问题描述:阅读程序(4)
*输入描述:无
*输出描述:无
*/
#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));//绑定适配器第二个元素,使数组a中每个元素与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;
}
/*
输出结果为:
5 6 7 8 9
2 4 6 8 10
*/
第十五周项目 阅读程序(4)
最新推荐文章于 2025-12-06 09:52:47 发布
本文通过一个具体的C++程序示例,展示了如何使用STL中的transform函数配合自定义类来实现向量中元素的变换操作,包括向量内每个元素与固定数值相加以及两个向量间的逐元素相加。
1897

被折叠的 条评论
为什么被折叠?



