C++ istream_iterator ostream_iterator (Essential C++)

发布时间 2023-08-16 11:12:45作者: Nicoey

代码示例:

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
using namespace std;

int main() {

istream_iterator< int > is(cin);
istream_iterator<int> eof;
vector<int> text;

// 将输入流的内容复制到 text 向量中,is相当于text的first迭代器,而eof相当于last迭代器,
//相当于 vector<string> text(is , eof)
copy(is, eof, back_inserter(text));
sort(text.begin(), text.end());
//输出绑定,并且输出间隔符号是 " "(空格)
ostream_iterator< int> os(cout, " ");
//os作为对象接收输出的开始迭代器和结束迭代器
copy(text.begin(), text.end(), os);
return 0;


}

输入示例:

注意如果是istream_iterator是int类型的话,只有在回车之后并且输入不是同类型的(比如示例中式int类型,回车后输入char类型)或者遇到IO错误才会视为输入终止。