类别:容器 | 组件类型:概念 |
反向迭代器类型 | X::reverse_iterator | 一个反向迭代器适配器,其基础迭代器类型是容器的迭代器类型。递增类型为reverse_iterator的对象在容器中向后移动:反向迭代器适配器将operator++映射到operator--. |
常量反向迭代器类型 | X::const_reverse_iterator | 一个反向迭代器适配器,其基础迭代器类型是容器的常量迭代器类型。[1] |
X | 可逆容器模型的类型 |
a, b | 类型为X |
名称 | 表达式 | 类型要求 | 返回类型 |
---|---|---|---|
范围的开始 | a.rbegin() | reverse_iterator如果a是可变的,const_reverse_iterator否则 [1] | |
范围的结束 | a.rend() | reverse_iterator如果a是可变的,const_reverse_iterator否则 [1] |
名称 | 表达式 | 前提条件 | 语义 | 后置条件 |
---|---|---|---|---|
反向范围的开始 | a.rbegin() | 等价于X::reverse_iterator(a.end()). | a.rbegin()是可解引用或超出末尾。当且仅当a.size() == 0. | |
反向范围的结束 | a.rend() | 等价于X::reverse_iterator(a.begin()). | a.end()超出末尾。 |
有效范围 | [a.rbegin(), a.rend())是一个有效范围。 |
范围的等价性 | 从a.begin()映射到a.end()到a.rbegin()映射到a.rend(). |
[1] 容器的迭代器类型和常量迭代器类型可以是相同的类型:容器不需要提供可变迭代器。由此可见,反向迭代器类型和常量反向迭代器类型也可以是相同的。