输入迭代器:只能前向读取的迭代器,支持++,不能--
输出迭代器:只能前向写入的迭代器,支持++,不能--
这两种迭代器最简单,基本只能读取/写入一次
例子:
#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
using namespace std;
template <typename Iter>
void print_range(Iter begin, Iter end)
{
// 输出
copy(begin, end,
ostream_iterator<iterator_traits<Iter>::value_type>(cout, " "));
}
int main()
{
vector<string> coll;
// 输入
copy(istream_iterator<string>(cin), istream_iterator<string>(),
back_inserter(coll));
print_range(coll.begin(), coll.end());
cout << endl;
sort(coll.begin(), coll.end());
print_range(coll.begin(), coll.end());
cout << endl;
return 0;
}