您的位置:首页 > 编程语言 > C语言/C++

《Essential C++》笔记三(3)、使用iostream iterators

2013-10-03 13:22 274 查看
Essential C++书中,给了一段关于iosteram iterators的例程,如下所示:

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

int main()
{
istream_iterator< string > is( cin );
istream_iterator< string > eof;

vector< string > text;
copy( is, eof, back_inserter( text ));

sort( text.begin(), text.end() );

ostream_iterator<string> os( cout, " " );
copy( text.begin(), text.end(), os );
}


在输入的过程中,出现了一个问题,就是控制台不断要求输入,好像进入死循环,对于这个问题,http://wenku.baidu.com/view/91f2f2eff8c75fbfc77db2f5.html,给出了一些解释。

对于书中给出的程序来说,如果单步调试,会发现,在

istream_iterator< string > is( cin );
copy( is, eof, back_inserter( text ));

两个语句中,都再次调用了cin,解决的办法就是输入一串字符串后,当要求再次输入时,点击“Ctrl+Z”,人为输入EOF结束符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: