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

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

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

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

问题 1> 设计嵌入式的主要目的是class const_iterator什么class iterator

问题 2> 是否有一个很好的设计教程来说明我们如何以专业的方式实现自定义const_iterator或类?iterator

谢谢

4

1 回答 1

1

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

大概MainClass表示某种容器、集合、列表生成器或其他可迭代的数据结构。创建具有这些名称的迭代器类允许在标准算法(如or MainClass)中用作容器类。std::for_eachstd::accumulate

问题 2> 有没有很好的设计教程来说明我们如何以专业的方式实现自定义的 const_iterator 或迭代器类?

我没有立即意识到一个。

于 2012-04-05T16:08:32.563 回答