0

2 番目の引数 for_each が空の反復子である理由がわかりません。誰かが私にこれを説明できますか?

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

2 に答える 2

4

これは特別な「センチネル」値であり、その唯一の目的は、EOF に達しtrueた別の値と比較したときに値を返すことです。istream_iterator()

于 2014-03-30T03:25:24.093 に答える
3

構築されたデフォルトistream_iteratorは、ストリーム条件の終了を示す標識として使用されます。istream末尾から読み取る場合、 への最初のイテレータ入力for_eachはこのセンチネル イテレータと等しくなり、for_each.

于 2014-03-30T03:26:23.367 に答える