1

我可以在两个 istream_iterator 之间进行赋值操作吗?如果是这样,那么行为会是什么,即两个迭代器都指向文件中的同一位置,即我们是否会获得两个指向文件中同一行的指针?

如果是这样,我可以增加一个迭代器,读取一些行,然后将其分配回另一个迭代器,然后再次从我们之前所在的同一位置开始读取行吗?

基本上我想编写一个模拟for循环的程序。但这应该在解析文件时发生。

4

2 回答 2

6

istream_iterators 是输入迭代器,而不是前向迭代器。这意味着它们是单遍迭代器,与多遍迭代器相反:没有办法返回序列,或者多次迭代序列。

于 2012-06-28T16:15:46.420 回答
1

您可以分配一个istream_iteratoranistream_iterator并不真正指代文件中的特定位置,只是指当前位置,无论它可能是什么。因此,您正在考虑的内容将不起作用-您使用的任何迭代器都只会从当前点继续读取,而不是返回到您保存它时引用的位置。

于 2012-06-28T16:16:44.447 回答