更加有效的迭代器
1、插入迭代器
2、流迭代器
3、方向迭代器
4、移动迭代器(C++11)
#include <iostream>
#include <unordered_set>
#include <string>
#include <vector>
#include<iterator>
using namespace std;
int main()
{
// insert iteratot
vector<int> vec1={1,2,3};
vector<int>vec2 = {1,2,3,4,5,6,7,8};
auto it = find(vec2.begin(), vec2.end(),1);//
insert_iterator<vector<int>> it1 (vec2,it);// 指向vec2 的it 位置
copy(vec1.begin(),vec1.end(),it1);//vec1的所有元素都插入到it 前面
//stream iterator
vector<string>vec3;
copy(istream_iterator<string>(cin), istream_iterator<string>(),back_inserter(vec3));//将cin 中的字符插入到vec3的结尾
copy(vec3.begin(),vec3.end(), ostream_iterator<string>(cout," ")); //将vec3的元素输出
//reverse iterator
vector<int>vec5 = {4,5,6};
for (auto it = vec5.rbegin(); it != vec5.rend(); it++)
{
cout << *it << endl;
}
system("pause");
return 0;
}