//在一个vector容器sourceVec中加入10个随机整数;
//设计一个名为squareTrans的仿函数,利用transform算法将10个数的平方搬运到目标容器targetVec中;
//再设计一个仿函数display,利用for_each算法将targetVec中的10个数输出到屏幕上。
#include<bits/stdc++.h>
using namespace std;
template<typename T>
T squareTrans(T x)
{
return x*x;
}
template<typename T>
class display
{
public:
void operator()(T val)
{
cout<<val<<" ";
}
};
int main()
{
int a[24];
srand((unsigned)time(NULL));
vector<int> sourceVec;
vector<int> targetVec;
for(int i=0;i<10;i++)
{
a[i]=rand()%100;
sourceVec.push_back(a[i]);
}
for_each(sourceVec.begin(),sourceVec.end(),display<int>());
std::transform(sourceVec.begin(),sourceVec.end(),targetVec.begin(),squareTrans<int>);
for_each(targetVec.begin(),targetVec.end(),display<int>());//这个语句没有发挥它的作用捏
}
c++stl 仿函数 最后的输出没有发挥它的作用 怎么改呢