C++ 具名要求: ReversibleContainer

来自cppreference.com
< cpp‎ | named req
 
 
 

可逆容器 (ReversibleContainer) 是拥有满足双向迭代器 (BidirectionalIterator) 或随机访问迭代器 (RandomAccessIterator) 要求的迭代器的容器 (Container) 。这些迭代器允许逆序迭代可逆容器 (ReversibleContainer) 。

目录

[编辑] 要求

X 容器类型
T 元素类型
a X 类型对象

[编辑] 类型

表达式 返回类型 条件 复杂度
X::reverse_iterator 值类型为 T 的迭代器 reverse_iterator<iterator> 编译时
X::const_reverse_iterator 值类型为 T 的常迭代器 reverse_iterator<const_iterator> 编译时

[编辑] 方法

表达式 返回类型 条件 复杂度
a.rbegin() reverse_iterator
对常 aconst_reverse_iterator
reverse_iterator(end()) 常数
a.rend() reverse_iterator
对常 aconst_reverse_iterator
reverse_iterator(begin()) 常数
a.crbegin() const_reverse_iterator const_cast<X const&>(a).rbegin() 常数
a.crend() const_reverse_iterator const_cast<X const&>(a).rend() 常数


[编辑] 示例

下列示例在(拥有随机访问迭代器的) vector 上逆序迭代。

#include <vector>
#include <iostream>
 
int main()
{
    std::vector<int> v = {3, 1, 4, 1, 5, 9};
 
    for(std::vector<int>::reverse_iterator i = v.rbegin(); i != v.rend(); ++i) {
        std::cout << *i << '\n';
    }
}

输出:

9
5
1
4
1
3


[编辑] 标准库

(C++11 起)
静态的相接数组
(类模板) [编辑]
双端队列
(类模板) [编辑]
双链表
(类模板) [编辑]
动态的相接数组
(类模板) [编辑]
键值对的集合,按照键排序,键是唯一的
(类模板) [编辑]
键值对的集合,按照键排序
(类模板) [编辑]
唯一键的集合,按照键排序
(类模板) [编辑]
键的集合,按照键排序
(类模板) [编辑]