ワーキング ドラフト N3337-1、プログラミング言語 C++ の標準、24.2.5 フォワード イテレータ、806 ページを読む。
下書きから:
2 つの逆参照可能な反復子a
およびb
型は、次
のX
場合にマルチパス保証を提供します。a == b
++a == ++b
X
(void)++X(a), *a
*a
[ 注: (入力および出力イテレーターには当てはまらない)ことをa == b
意味する要件と、可変イテレーター (出力イテレーターに適用される) を介した代入数の制限の削除により、マルチパスワンパスの使用が許可されます。++a == ++b
前方イテレータを使用した方向性アルゴリズム。—終わりのメモ]
誰かがこれをより簡単な言葉で再解釈できますか? Forward イテレータがマルチパスであることは理解していますが、これが C++ 標準要件に従ってどのように達成されるかはわかりません。