このstd::vector
クラスには、パラメーターに任意の入力反復子を許可する便利なコンストラクターがあります。クラスはインスタンス化されたときにコレクションを取り込む必要があるため、自分のクラスに同様のパターンを実装したいと思いますが、カプセル化の目的でそのコレクションに反復子を持たせたいと考えています。これを行うために私が考えた 1 つの方法は、クラス全体を入力反復子型でテンプレート化することですが、それは STL が行うことではありませんvector
。もちろん、1 つのオプションはテンプレート化されたジェネレータ関数ですが、STL を実装するコンパイラによってそれがどのように行われるかを知りたいと思いますInputIterator
。
(はい、見ようとしましvector.tpp
たが理解できませんでした)。