类别:迭代器 | 组件类型:类型 |
class my_random_access_iterator : public random_access_iterator<double> { ... };这声明my_random_access_iterator是一个 随机访问迭代器 ,其值类型是double,其距离类型是ptrdiff_t。如果Iter是类的一个对象my_random_access_iterator,则iterator_category(Iter)将返回random_access_iterator_tag(), value_type(Iter)将返回(double*) 0,和distance_type(Iter)将返回(ptrdiff_t*) 0.
参数 | 说明 | 默认值 |
---|---|---|
T | 迭代器的值类型 | |
Distance | 迭代器的距离类型 | ptrdiff_t |
[1] 不需要随机访问迭代器从基random_access_iterator继承。然而,确实需要这些函数iterator_category, distance_type,和value_type为每个随机访问迭代器定义。(或者,如果你正在使用iterator_traits机制,那么iterator_traits经过适当的专业化以适应每个随机访问迭代器。)由于这些函数是针对基定义的random_access_iterator,确保为新类型定义的 easiest 方式是从其中派生类random_access_iterator并信赖从派生到基的函数参数的标准转换。