C++使用iostream迭代器

标准库定义了可以用于IO类型对象的迭代器,istream_iterator读取输入流ostream_iterator向一个输出流写数据。

最初接触到这个流迭代器,是因为在陈硕老师“用STL algorithm轻松解决几道算法面试题”中,用流迭代器的方式打印数据容器中的数据很方便,就学了一下,用法很简单,示例如下:

test_istream.cpp

#include 
#include 
#include 
#include 
#include 
using namespace std;
int main()
{
#if 1 
    istream_iterator<int> input(cin);
    istream_iterator<int> eof;
    cout<0)<#endif
    return 0;
}

这里写图片描述

test_ostream.cpp

#include 
#include 
#include 
#include 
#include 
using namespace std;
int main()
{

    istream_iterator<int> eof;

    istream_iterator<int> vec_input(cin);

    vector<int>vec;
    while(vec_input!=eof)
    {
        vec.push_back(*vec_input++);
    }
    ostream_iterator<int> vec_output(cout,"\n");
    copy(vec.begin(),vec.end(),vec_output);
    cout << endl;

    return 0;
}

这里写图片描述

你可能感兴趣的:(C/C++,iostream,迭代器)