It's a special "sentinel" value, whose only purpose is to return the value true
when compared with another istream_iterator()
that has reached EOF.
istream_iterator, black magic?
-
23-06-2023 - |
Вопрос
I don't understand why the second argument for_each is an empty iterator. Can someone explain this to me, please?
fstream("datfile.txt");
for_each(istream_iterator<string>(datfile), istream_iterator<string>(), rand_func);
Решение
Другие советы
The default constructed istream_iterator
is used as a sentinel that denotes the end of stream condition. When reading from the istream
ends, the first iterator input to for_each
will equal this sentinel iterator, thus terminating the for_each
.
Не связан с StackOverflow