STL之ostream_iterator

ostream_iterator是流迭代器。
流迭代器是标准模板库中的。因此是类模板。

ostream_iterator<int>

指定了类型,就是迭代器读写的类型。
通过这个流迭代器可以把你要输入的写入到指定的流中。
cout就是指定的流,就是标准输出。
可以改成一个输出流就可以,比如一个文件。
copy (v.begin(), v.end(), output);
这个意思就是说,把向量V中的数据通过流迭代器output放到cout输出流中。

ostream_iterator<int> output(cout ," ");

这个的意思说,放到输出流的时候,每放一个整数,就末尾添加一个空格。

举例:

#include "stdafx.h"
#include <string.h>
#include <algorithm>
#include <vector>
#include <deque>
#include <functional>
#include <iostream>
#include <iterator>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    vector<int> vecContainer;
    const int nLoop = 7;

    for (int i = 0; i < nLoop; ++i)
    {
        vecContainer.push_back(i);
    }

    cout << "print data:" << endl;
    copy(vecContainer.begin(), vecContainer.end(), 
         ostream_iterator<int>(cout," "));
    cout << endl;

    return 0;
}

运行结果:

这里写图片描述

posted @ 2015-12-26 22:42  小怪兽&奥特曼  阅读(157)  评论(0编辑  收藏  举报