目的&关于如何定制使用`std :: iterator`的教程

时间:2012-04-05 15:33:54

标签: c++

class MainClass
{    
    class EmbeddedClass
    {...};

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

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

我在遗留项目中看到了上述设计。

问题1&gt;设计嵌入式class const_iteratorclass iterator的主要目的是什么?

问题2&gt;是否有一个很好的设计教程,说明我们如何以专业的方式实现自定义的const_iteratoriterator课程?

谢谢

1 个答案:

答案 0 :(得分:1)

  

问题1&gt;设计嵌入式类const_iterator和类迭代器的主要目的是什么?

据推测,MainClass代表某种容器,集合,列表生成器或其他可迭代数据结构。 使用这些名称创建迭代器类允许MainClassstd::for_eachstd::accumulate等标准算法中用作容器类。

  

问题2&gt;是否有一个很好的设计教程,说明我们如何以专业的方式实现自定义的const_iterator或迭代器类?

我不是马上意识到的。