OK、それで私は今イテレータを使っている2つの(完全に無関係な、異なるプロジェクト)クラスを持っています。1つは意図したとおりに機能し、もう1つは現在のものがiteratorあり、半壊しています(具体的には、const_iteratorはイテレーターから派生しているため、コードは有効であり、const定義リストを変更できます...)。
このクラスに4つのタイプすべてを追加するつもりです...可能であれば。 reverse_iteratoriteratorconst_iteratorLinkedList<int>::iterator i = const_list.begin()
コードのコピー/貼り付けを最小限に抑え、リターンタイプのみを変更するにはどうすればよいですか?base_iterator継承したい基本クラスを作成しますか?iteratorまたはを作成し、const_iteratorそれから継承しますか?いくつかのstd::クラスから継承しますか?これらのケースのいずれかが「最良の」アプローチである場合、どのコードがどこに行きますか?
おそらく、選択肢のどれも良いものではありませんか?私はここでかなり迷っていて、多くの参考資料を見つけることができません。
アドバイスをいただければ幸いですが、私はこのテーマに慣れていないことを覚えておいてください(イテレーターとC ++の両方、特にOOP)。私は無駄に、GCCに付属しているヘッダーファイルを調べようとしましたが、それらは私が探しているチュートリアルではありません。