0

我不明白为什么第二个参数 for_each 是一个空迭代器。有人可以向我解释一下吗?

fstream("datfile.txt"); 
for_each(istream_iterator<string>(datfile), istream_iterator<string>(), rand_func);
4

2 回答 2

4

true这是一个特殊的“哨兵”值,其唯一目的是在与另一个istream_iterator()已达到 EOF的值进行比较时返回该值。

于 2014-03-30T03:25:24.093 回答
3

默认构造istream_iterator用作表示流条件结束的标记。当从istream末端读取时,第一个迭代器输入for_each将等于这个哨兵迭代器,从而终止for_each.

于 2014-03-30T03:26:23.367 回答