観察 1: C++ 出力反復子では が必要ですが&r == &++r
、入力反復子ではこの要件について言及されていません。[C++11: 24.2.{3,4}] を参照
観察 2: 順方向、双方向、およびランダム アクセス イテレータは、入力イテレータの要件 [24.2.{5,6,7}:1] を満たしますが、ミュータブルでない限り、必ずしも出力イテレータの要件を満たしません[24.2.1:4]。
観察 3: 双方向反復子は、要件&r == &--r
[24.2.6] でプレフィックスのデクリメント操作を追加します。
では、定数の双方向イテレータは を満たさなければなら&r == &--r
ないが必ずしもそうとは限らないが&r == &++r
、可変双方向イテレータは両方を満たさなければならないというのは本当でしょうか?
この要件が実装に与える影響について教えてください。
以下の MvG は、私が本当に意図した質問をします。
- 一定の Forward イテレータが満たさないことが理にかなっているのは
&r == &++r
いつですか?