STL 実装 (SGI、STLport、libc++) のいくつかのソースを調べていたところ、すべてまたはほとんどの実装に共通すると思われる設計パターンがいくつか見られましたが、その理由は見つかりませんでした。私は良い反響があるに違いないと思います、そしてそれが何であるかを知りたいです:
vector
などを含め、多くのクラスlist_iterator
が 2 つのクラスとして実装されました。たとえばlist_iterator_base
、機能の一部が実装され、インターフェイスの残りの部分がlist_iterator
継承されます。list_iterator_base
ポイントは?1つのクラスで簡単に実行できるようです。iterator
イテレータはクラスを利用していないようです。それを使用するとパフォーマンスが低下しますか?
これらは、簡単なスキムで見つけた2つの質問です。STL 実装の実装原理を説明する優れたリソースを誰かが知っている場合は、喜んでお知らせします。