C++ 具名要求:遗留随机访问迭代器 (LegacyRandomAccessIterator)
遗留随机访问迭代器 (LegacyRandomAccessIterator) 是能在常数时间内移动到指向任何元素的遗留双向迭代器 (LegacyBidirectionalIterator) 。
指向数组元素的指针满足所有遗留随机访问迭代器 (LegacyRandomAccessIterator) 的要求。
要求
类型 It 满足遗留随机访问迭代器 (LegacyRandomAccessIterator) ,若
且给定
-  
value_type,为 std::iterator_traits<It>::value_type 所指代的类型 -  
difference_type,为 std::iterator_traits<It>::difference_type 所指代的类型 -  
reference,为 std::iterator_traits<It>::reference 所指代的类型 -  
i、a、b,为It或const It类型的对象 -  
r,为It&类型的值 -  
n,为difference_type类型的整数 
则下列表达式必须合法且拥有其指定的效果
| 表达式 | 返回类型 | 操作语义 | 注意 | 
|---|---|---|---|
| r += n | It& | difference_type m = n; if (m >= 0) while (m--) ++r;  | 
  | 
| a + n
 n + a  | 
It | It temp = a; return temp += n;  | 
  | 
| r -= n | It& | return r += -n; | n 的绝对值必须在 difference_type 的可表示值范围内。
 | 
| i - n | It | It temp = i; return temp -= n;  | 
|
| b - a | difference_type | 
return n; | 
 前条件: 
 后条件: 
  | 
| i[n] | 可转换到 reference | 
*(i + n) | |
| a < b | 可语境转换到 bool | 等价于 return b - a > 0; | 前条件:
 严格全序关系: 
  | 
| a > b | 可按语境转换到 bool | b < a | 与 a < b 相反的全序关系 | 
| a >= b | 可按语境转换到 bool | !(a < b) | |
| a <= b | 可按语境转换到 bool | !(a > b) | 
上述规则隐含了遗留随机访问迭代器 (LegacyRandomAccessIterator) 亦实现可小于比较 (LessThanComparable) 。
可变(mutable)遗留随机访问迭代器 (LegacyRandomAccessIterator) 是还额外满足遗留输出迭代器 (LegacyOutputIterator) 要求的遗留随机访问迭代器 (LegacyRandomAccessIterator) 。
概念为了定义 std::iterator_traits,定义了以下仅用于阐释的概念: 
 其中仅用于阐释的概念   | 
(C++20 起) | 
参阅
|    (C++20)  | 
  指定 bidirectional_iterator 为随机访问迭代器,支持常数时间内的前进和下标访问  (概念)  |