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_iterator
和class iterator
的主要目的是什么?
问题2&gt;是否有一个很好的设计教程,说明我们如何以专业的方式实现自定义的const_iterator
或iterator
课程?
谢谢
答案 0 :(得分:1)
问题1&gt;设计嵌入式类const_iterator和类迭代器的主要目的是什么?
据推测,MainClass
代表某种容器,集合,列表生成器或其他可迭代数据结构。
使用这些名称创建迭代器类允许MainClass
在std::for_each
或std::accumulate
等标准算法中用作容器类。
问题2&gt;是否有一个很好的设计教程,说明我们如何以专业的方式实现自定义的const_iterator或迭代器类?
我不是马上意识到的。