C++ STL中,istream_iterator<int>pit(cin)是什么意思?

书上说,是从输入流中读数据。istream_iterator<int>pit(cin);istream_iterator<int>eof;//这一步我就不懂了,这是一个空... 书上说,是从输入流中读数据。

istream_iterator<int>pit(cin);

istream_iterator<int>eof; //这一步我就不懂了,这是一个空对象,什么叫空?

然后while(pit != eof)

one,push_back(*pit ++);

我就不懂了,为何结束条件,最后pit会等于eof呢?

eof的空到底是什么?是NULL? 没初始化应该是垃圾值吧?

怎么最后++会跟eof相等呢
展开
 我来答
魔石stay
2018-10-28
知道答主
回答量:3
采纳率:0%
帮助的人:2579
展开全部
eof=end of file的缩写,istream_iterator<int>eof定义了一个输入流迭代器eof,其指向输入数据的最后位置+1,即指示的为NULL位置,此时,判断条件while(pit !=eof)为true(即两个迭代器指向位置不同)则 循环进行,当遍历完数据之后,迭代器超出,此时迭代器pit刚好指向eof指向的位置,二者只想相同,判断结果为false,结束循环
小兆86
2014-08-30 · TA获得超过802个赞
知道小有建树答主
回答量:990
采纳率:25%
帮助的人:871万
展开全部
没有显示初始化就是使用默认的初始化,你可以认为这里是NULL,但是可能不同的实现是不一样的,比如文件的结束是 -1。
迭代器++执行下一个数据,迭代器的最后有个所谓的空数据。在这里跟字符串最后的NULL很类似的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式