[英]istream_iterator, black magic?
我不明白為什么第二個參數for_each是一個空的迭代器。 有人可以向我解釋一下嗎?
fstream("datfile.txt");
for_each(istream_iterator<string>(datfile), istream_iterator<string>(), rand_func);
這是一個特殊的“前哨”值,其唯一目的是與另一個達到EOF的istream_iterator()
比較時返回值true
。
默認構造的istream_iterator
用作指示流條件結束的標記。 當從istream
讀取結束時, for_each
的第一個迭代器輸入將等於此哨兵迭代器,從而終止for_each
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.