【发布时间】:2013-12-11 03:29:51
【问题描述】:
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <list>
using namespace std;
int main()
{
istream_iterator<int> in_iter(cin);
istream_iterator<int> eof;
vector<int> vin;
/*while (in_iter!=eof)
{
vin.push_back(*in_iter++);
}*/
istream_iterator<int> in_iter2(cin), eof2;
vector<int> vin2(in_iter2,eof2);
return 0;
}
当我在程序中输入1 2 3 c(最后一个元素'c'是使cin状态为EOF)时,最后vin2将包含元素:2 3;但是,当我注释的声明变量in_iter,同样的输入会使vin2包含元素:1 2 3;变量in_iter的声明对这个程序有什么影响?谢谢!
【问题讨论】:
-
进入EOF的正确方法是……进入EOF。它是 ctrl-Z 或 ctrl-D 取决于您使用的操作系统。输入 c 不会产生任何 EOF。
-
“当我注释变量 in_iter 的声明时”——这是什么意思?
-
@TonyD,我正在考虑评论。
标签: c++ istream-iterator