1

2つのistream_iterator間で代入操作を行うことはできますか?その場合、動作はどうなりますか。つまり、両方のイテレータがファイル内の同じ場所を指します。つまり、ファイル内の同じ行への2つのポインタを取得しますか?

もしそうなら、1つのイテレータをインクリメントし、いくつかの行を読み取り、それを他のイテレータに割り当てて、以前と同じ場所から行の読み取りを再開できますか?

基本的には、forループをシミュレートするプログラムを書きたいと思います。ただし、これはファイルの解析中に発生するはずです。

4

2 に答える 2

6

istream_iteratorsは入力イテレーターであり、フォワードイテレーターではありません。これは、マルチパスイテレータとは対照的に、それらがシングルパスイテレータであることを意味します。シーケンスに戻る方法や、シーケンスを複数回繰り返す方法はありません。

于 2012-06-28T16:15:46.420 に答える
1

を割り当てることはできますが、実際istream_iteratorにはファイル内の特定の場所を参照するのではなく、現在の場所を参照するだけです。そのため、検討しているものは機能しません。使用するイテレータは、保存時に参照した場所に戻るのではなく、現在のポイントから読み取りを継続します。istream_iterator

于 2012-06-28T16:16:44.447 に答える