6.函數對象 適配器的用法

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;
 }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章