あなたのイテレータは、現在指している要素のみを読み取ることができ、前または次の要素についての知識はありません。
Iter0 = Iter1;
Iter1++;
をインクリメントした後、イテレータのあなたのセットは次のようになります:
Item1 ---> Item2 ---> Item3 ---> Item4
Iter0 ------------------↑ ↑
Iter1------------------------------ˈ
を
std::list<T>
Item1 ---> Item2 ---> Item3 ---> Item4
Iter0 ----↑ ↑
Iter1----------------ˈ
を指す2つのイテレータは、次のようにこれらをインクリメント想像したの
考えます
前の値Iter1
はsです。 Iter0
に渡されるので、常にそれはIter1
の前の要素を指しています。
ここで、Item2
の削除を実行するとします。
Item1 ---> Item3 ---> Item4
Iter0 -??? ↑
Iter1-------------------ˈ
Iter1
まだItem3
に有効で、ポイントです。
Iter0
以前の値Iter1
は有効でなくなり、「なし」(このイテレータの逆参照が未定義の動作とみなされることを意味します)を指します。
出典
2017-01-24 19:11:18
lcs
'std :: istream_iterator'について' std :: cin'と考えてください – Jarod42
あなたのソースに名前を付けてください!あなたはなぜ彼らの名前に言及せずに本から引用しますか? –