您是否必须在类似STL的类中实现多个迭代器?

Joh*_*0te 6 c++ stl

我对STL以及如何使用它非常熟悉.我的问题是......

如果我要实现自己的STL容器类型,内部迭代器是如何定义的?STL类倾向于具有顺序或随机访问迭代器,这些迭代器的const_版本以及流迭代器.

这些迭代器是否都在每个STL类中完全定义,或者是否存在某种基类来获取大部分迭代器功能?有谁知道如何实现支持这些不同类型的迭代器的类的良好参考?

Jam*_*nze 7

通常,您只需要实现iteratorconst_iterator.如果需要反向迭代器,可以使用实例化获得它们std::reverse_iterator.流迭代器将使用 operator>>operator<<; 通常,它们不适合容器(并且没有标准容器提供它们).