1
class MainClass
{    
    class EmbeddedClass
    {...};

    class const_iterator 
      : public std::iterator<std::random_access_iterator_tag, EmbeddedClass> 
    {...}

    class iterator: public const_iterator
    {...};
};

レガシー プロジェクトで上記の設計を見たことがあります。

class const_iterator質問 1> 埋め込み型およびを設計する主な目的は何class iteratorですか?

質問 2> カ​​スタマイズされたクラスを専門的な方法でconst_iterator実装する方法を説明する優れた設計チュートリアルはありますか?iterator

ありがとうございました

4

1 に答える 1

1

質問 1> 埋め込みクラス const_iterator とクラス iterator を設計する主な目的は何ですか?

おそらくMainClass、ある種のコンテナー、コレクション、リスト ジェネレーター、またはその他の反復可能なデータ構造を表します。これらの名前でイテレータ クラスを作成すると、や などMainClassの標準アルゴリズムでコンテナ クラスとして使用できます。std::for_eachstd::accumulate

質問 2> カ​​スタマイズされた const_iterator または iterator クラスを専門的な方法で実装する方法を説明する優れた設計チュートリアルはありますか?

私はすぐには気づきません。

于 2012-04-05T16:08:32.563 に答える