关于我们如何定制使用"std::iterator"的目的和教程

Purpose & Tutorial for how we make customized usage of `std::iterator`

本文关键字:std 教程 iterator 于我们 我们 何定制      更新时间:2023-10-16
class MainClass
{    
    class EmbeddedClass
    {...};
    class const_iterator 
      : public std::iterator<std::random_access_iterator_tag, EmbeddedClass> 
    {...}
    class iterator: public const_iterator
    {...};
};

我已经在一个遗留项目中看到了上面的设计。

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

问题2>有没有一个好的设计教程来说明我们如何以专业的方式实现定制const_iteratoriterator类?

谢谢

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

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

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

我没有立即意识到一个。