输入迭代器:只能前向读取的迭代器,支持++,不能--
输出迭代器:只能前向写入的迭代器,支持++,不能--
这两种迭代器最简单,基本只能读取/写入一次
例子:
#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; }