迭代器用在处理元素序列的地方。
可以将迭代器的概念有效利用在输入输出上。
【输出:】
#include <iostream>
#include <string>
#include <iterator>
using namespace std;
ostream_iterator<string> oo(cout);
int main()
{
*oo = "Hello,";
++oo;
*oo = "World\n";
cin.get();
return 0;
}
上述代码打印出hello,world和cout相同。
【输入】
#include <iostream>
#include <string>
#include <iterator>
using namespace std;
istream_iterator<string> ii(cin);
int main()
{
string s1, s2;
s1 = *ii;
ii++;
s2 = *ii;
cout << s1 << "," << s2 << endl;
system("pause");
return 0;
}
【一般应用】:读入一个文件,排序好之后将其非重复内容输出到另外一个文件。(文件直接的字符以回车为分割符)
#include <iostream>
#include <fstream>
#include <string>
#include <iterator>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
string from, to;
cin >> from >> to;
ifstream is(from.c_str());
istream_iterator<string> ii(is);
istream_iterator<string> eos;
vector<string> b(ii, eos);
sort(b.begin(), b.end());
ofstream os(to.c_str());
ostream_iterator<string> oo(os, "\n");
unique_copy(b.begin(), b.end(), oo);
return !is.eof() || !os;
}