我在哪里可以获得C ++中的示例代码,为我自己的容器创建迭代器?

时间:2009-11-13 05:26:19

标签: c++ list stl iterator containers

我一直在寻找为我自己的容器创建迭代器的示例代码,但我还没有找到一个很好的例子。我知道之前曾问过这个问题(Creating my own Iterators),但没有看到任何令人满意的答案。

我正在寻找简单的示例代码来开始设计我自己的迭代器。

由于

4 个答案:

答案 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容器使用一些自定义迭代器继承它。因此,您将能够动态使用迭代器 - 您的函数将使用指向抽象迭代器类的指针,而其他代码将能够选择应该使用的容器。