类别: 迭代器 | 组件类型: 类型 |
class my_input_iterator : public input_iterator<double> { ... };这声明了my_input_iterator作为 输入迭代器,其值类型为double且其距离类型为ptrdiff_t,如果Iter是类对象my_input_iterator,那么iterator_category(Iter)将返回input_iterator_tag(), value_type(Iter)将返回(double*) 0和distance_type(Iter)将返回(ptrdiff_t*) 0.
参数 | 描述 | 默认值 |
---|---|---|
T | 迭代器值类型 | |
Distance | 迭代器距离类型 | ptrdiff_t |
[1] 不要求 输入迭代器 继承基本input_iterator。不过,对于每个 输入迭代器,都要求定义函数。iterator_category, distance_type和value_type(或者,如果你使用iterator_traits机制,则iterator_traits对每个 输入迭代器 都进行适当的专门化。)由于这些函数都已针对基本对象input_iterator定义,因此确保针对新迭代器类定义函数的最简单方式是派生该类并input_iterator依赖于函数参数的派生到基本标准转换。