ostream_iterator 对象必须与特定的流绑定在一起。在创建
istream_iterator 时,可直接将它绑定到一个流上。另一种方法是在创建时不
元素写入输出流时使用的分隔符。分隔符必须是 C 风格字符串。因为它是 C 风
istream_iterator 时,可直接将它绑定到一个流上。另一种方法是在创建时不
提供实参,则该迭代器指向超出末端位置。
ostream_iterator 不提供超出末端迭代器。
在创建 ostream_iterator 对象时,可提供第二个(可选的)实参,指定将元素写入输出流时使用的分隔符。分隔符必须是 C 风格字符串。因为它是 C 风
格字符串,所以必须以空字符结束;否则,其行为将是未定义的。
#include <vector>
#include <iostream>
using namespace std;
int main()
{
istream_iterator<int> in_iter(cin); // read ints from cin
istream_iterator<int> eof; // istream "end" iterator
vector<int> vec;
while (in_iter != eof)
vec.push_back(*in_iter++);
for (vector<int>::const_iterator it=vec.begin();it!=vec.end();++it)
{
cout<<" "<<*it;
}
cout<<endl;
system("pause");
return 0;
}
里面的功能与以下相似:
istream_iterator<int> in_iter(cin); // read ints from cin
istream_iterator<int> eof; // istream "end" iterator
vector<int> vec(in_iter, eof); // construct vec from an iterator