为新类型的迭代器添加用户定义的迭代器标记的推荐方法是什么?

What's the recommended way to add a user-defined iterator tag for new kinds of iterator?

本文关键字:迭代器 是什么 方法 定义 添加 新类型 类型 用户      更新时间:2023-10-16

为新类型的迭代器添加用户定义的迭代器标签的推荐方法是什么?例如,研究过这个问题的c++委员会成员有什么建议?

是否可以从forward_iterator_tag或input_iterator_tag派生新的迭代器标签?

我想让带有这个新标签的迭代器的advance, distance, next, prev等的用户可以隐式地利用新迭代器类型的模型所具有的额外功能。

不应该从std::forward_iterator_tag派生。它只是自定义迭代器中的一个类型定义(实际上不需要基类),用于对迭代器的功能进行分类。

参见24.4迭代器要求