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;
}
运行结果: