C++ STL 迭代器接口

2024-01-07

我知道STL库使用不同类型的迭代器来遍历他的容器:输入、输出、正向、双向和随机访问。

我还知道迭代器抽象了经典的 C 指针接口。因此迭代器类必须具有 ++、* 运算符等(以充当指针)。

每种迭代器的接口是否都以某种规范编写? 这个接口只是 STL 库中使用的约定吗?还是有一些类层次结构可供我扩展迭代器?

据我了解,我应该“复制”STL 库中遵循的接口约定,以便能够使用我的迭代器。


您可以从以下位置查找每个迭代器类别的接口要求:iterator http://en.cppreference.com/w/cpp/iterator page.

正如已经提到的,人们通常不会费心从头开始实现整个迭代器接口,而是使用提升::迭代器 http://www.boost.org/doc/libs/1_55_0/libs/iterator/doc/index.html用于处理样板代码的库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ STL 迭代器接口 的相关文章

随机推荐