>>700
>・ 配列を伸ばしたらイテレータが無効になる
>という仕様は
> ・ 配列の大きさを変えるのをメモリの確保しなおしで実現する
> ・ イテレータの実体はポインタ一個である
>という実装上の理由 (を想定している) なので、抽象化の漏れだと思う。

ふむふむ‥‥抽象化といってもいろいろあるんですね‥‥

>イテレータをコンテナ (の参照) とインデックスの組で実装すれば回避可能なわけだし。

私はイテレータはポインタの読み替えだと決め付けていたので、こういうイテレータの実装はちょっと抵抗がありますね
コンテナへの参照とインデックスを組みするとなると、これはスレッドセーフのことを考えないといけないな、と、どうしても思ってしまいます
そういうこと、すなわち必要に応じて重たいけれどもスレッドセーフにするか、それとも単一スレッド内の話だから軽く書きとばすか、というのはアプリケーション側の裁量だと思っています
言語標準で最初から「スレッドセーフにしました!」というのは、C/C++ 的にはイマイチではないかな、と