1、for_each用法
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
//template<class T>
class CSum
{
int sum;
public:
CSum() { sum = 0; }
void operator()(int n)
{
sum += n;
}
int GetSum()
{
return sum;
}
};
int sum_1 = 0;
void fun(int n)
{
sum_1 += n;
}
int main()
{
vector<int> ivec;
for (int i = 0; i < 10; i++)
{
ivec.push_back(i);
}
CSum obj=for_each(ivec.begin(), ivec.end(), CSum());
cout << obj.GetSum() << endl;
for_each(ivec.begin(), ivec.end(), fun);
cout << sum_1 << endl;
}
2、copy輸出
#include <iostream>
#include<vector>
#include<functional>
#include<iterator>
using namespace std;
int add(int x, int y);
int main()
{
vector<int>ivec;
for (int i = 0; i < 10; i++)
{
ivec.push_back(i);
}
copy(ivec.begin(),ivec.end(), ostream_iterator<int>(cout, " "));
system("pause");
return 0;
}