现代C++编程实战:132个核心技巧示例(原书第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.9.2 使用方式

要想对用户自定义类型使用基于range的for循环,需要执行以下操作:

❍ 为类型创建可变迭代器和常量迭代器,必须实现:

• operator++(包含前缀版本和后缀版本)——用于递增迭代器;

• operator*——用于解引用迭代器并访问迭代器所指向的实际元素;

• operator!=——用于与另一个迭代器进行比较。

❍ 为类型提供自由函数begin()和end()。

基于前面的简单range示例,我们需要提供以下内容:

❍ 以下迭代器类的最简洁实现:

❍ 可变迭代器和常量迭代器的模板别名:

❍ 自由函数begin()和end()返回相应的begin和end迭代器,对两个模板别名都有重载: