タグ付けされた質問 「const-iterator」

8
STLスタイルのイテレーターを実装し、一般的な落とし穴を回避する方法は?
STLスタイルのランダムアクセスイテレータを提供するコレクションを作成しました。イテレータの実装例を探していましたが、見つかりませんでした。[]and *演算子のconstオーバーロードの必要性について知っています。イテレータが「STLスタイル」であるための要件は何ですか?また、(もしあれば)回避すべきその他の落とし穴は何ですか? 追加のコンテキスト:これはライブラリ用であり、本当に必要でない限り、ライブラリへの依存関係を導入したくありません。同じコンパイラでC ++ 03とC ++ 11のバイナリ互換性を提供できるように、独自のコレクションを作成します(したがって、おそらく壊れるSTLはありません)。

6
カスタムイテレータとconst_iteratorsを正しく実装するにはどうすればよいですか?
iteratorおよびconst_iteratorクラスを記述したいカスタムコンテナクラスがあります。 私はこれまでこれをやったことがなく、適切なハウツーを見つけることができませんでした。イテレータの作成に関するガイドラインは何ですか。また、何に注意する必要がありますか? また、コードの重複を避けたいと思います(それを感じてconst_iterator、iterator多くのことを共有します。一方を他方にサブクラス化する必要がありますか?)。 脚注:Boostにはこれを緩和する機能があると確信していますが、多くの愚かな理由のため、ここでは使用できません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.