我一直在寻找为我自己的容器创建迭代器的示例代码,但我还没有找到一个很好的例子。我知道之前曾问过这个问题(Creating my own Iterators),但没有看到任何令人满意的答案。
我正在寻找简单的示例代码来开始设计我自己的迭代器。
由于
答案 0 :(得分:6)
Here你可以找到创建自定义迭代器的好介绍。另请查看Boost.Iterator库。
答案 1 :(得分:2)
我发现Matthew Wilson's 'extended STL' 非常对这个问题有教育意义。包含许多做什么和不该做的事,以及大量实用的编程技巧。我觉得这个家伙真的知道他在做什么。 (也为此创建了库)
答案 2 :(得分:0)
Nicolai Josuttis在他的书中有一个用户定义迭代器的例子:C ++标准库,一个教程和一个参考。
以下是在线示例:
http://www.josuttis.com/libbook/iter/assoiter.hpp http://www.josuttis.com/libbook/iter/assoiter.cpp
答案 3 :(得分:0)
查看本文,其中介绍了如何为类实现自定义虚拟迭代器:article
它有一个显着的优点 - 你可以创建一个抽象的基础迭代器类,并为你自己的容器和一些STL容器使用一些自定义迭代器继承它。因此,您将能够动态使用迭代器 - 您的函数将使用指向抽象迭代器类的指针,而其他代码将能够选择应该使用的容器。