SGI

random_access_iterator

类别:迭代器 组件类型:类型

说明

Random_access_iterator是一个迭代器基类:它是预期中的一个迭代器,它是一个 随机访问迭代器 的模型,其值类型和距离类型是TDistance,可以通过继承以下内容来定义random_access_iterator [1]. Random_access_iterator完全为空:它没有任何成员函数、成员变量或嵌套类型。它存在的唯一目的是简化函数的定义iterator_category, distance_type,和value_type.

范例

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.

定义

定义在标准标题 iterator 中,并在非标准的后向兼容标题 iterator.h 中。虽然此类出现在标准的早期草案中,但它不再是 C++ 标准的一部分。在这项实现中,它被保留下来以进行向后兼容。

模板参数

参数 说明 默认值
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并信赖从派生到基的函数参数的标准转换。

另请参见

迭代器标记 概览iterator_traits, iterator_category, value_type, distance_type, input_iterator, output_iterator, forward_iterator, bidirectional_iterator
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc.。保留所有权利。 TrademarkInformation