0
我不明白爲什麼第二個參數for_each是一個空的迭代器。有人可以向我解釋這件事嗎?istream_iterator,黑魔法?
fstream("datfile.txt");
for_each(istream_iterator<string>(datfile), istream_iterator<string>(), rand_func);
我不明白爲什麼第二個參數for_each是一個空的迭代器。有人可以向我解釋這件事嗎?istream_iterator,黑魔法?
fstream("datfile.txt");
for_each(istream_iterator<string>(datfile), istream_iterator<string>(), rand_func);
這是一個特殊的「哨兵」值,其唯一目的是在與另一istream_iterator()
已經達到EOF相比,返回值true
。
默認構造的istream_iterator
被用作表示流條件結束的標記。當從istream
結束讀取時,第一個迭代器輸入到for_each
將等於該哨兵迭代器,因此終止for_each
。