1、概念
提供与iterator相同的接口,但是改变内部的实现方法
2、分类
3、Insert(安插型)iterator
#include <iostream>
#include <list>
#include <vector>
#include <set>
#include <iterator>
#include <algorithm>
using namespace std;
void main()
{
list<int>coll1;
for (int i = 1; i <= 4; ++i) coll1.push_back(i);
list<int>coll2;
copy(coll1.begin(), coll1.end(), back_inserter(coll2)); //后插1 2 3 4
cout << endl; for_each(coll2.begin(), coll2.end(), [](int value) {cout << value << ends; }); //1 2 3 4
copy(coll1.begin(), coll1.end(), front_inserter(coll2)); //前插4 3 2 1 1 2 3 4
cout << endl; copy(coll2.begin(), coll2.end(), ostream_iterator<int>(cout, " "));
list<int>coll3;
copy(coll1.begin(), coll1.end(), inserter(coll3, coll3.begin())); //1 2 3 4
cout << endl; copy(coll3.begin(), coll3.end(), ostream_iterator<int>(cout, " "));
system("pause");
}