ReversibleContainer
C++概念:可逆容器
阿ReversibleContainer
是Container
的迭代器可以满足任意一种的要求。BidirectionalIterator
或RandomAccessIterator
这样的迭代器允许ReversibleContainer
被反向迭代。
所需
X | Container type |
---|---|
T | Element type |
a, b | Objects of type X |
类型
expression | return type | conditions | complexity |
---|---|---|---|
X::reverse_iterator | iterator type whose value type is T | reverse_iterator<iterator> | compile time |
X::const_reverse_iterator | constant iterator type whose value type is T | reverse_iterator<const_iterator> | compile time |
方法
expression | return type | conditions | complexity |
---|---|---|---|
a.rbegin() | reverse_iterator; const_reverse_iterator for constant a | reverse_iterator(end()) | constant |
a.rend() | reverse_iterator; const_reverse_iterator for constant a | reverse_iterator(begin()) | constant |
a.crbegin() | const_reverse_iterator | const_cast<X const&>(a).rbegin( | constant |
a.crend() | const_reverse_iterator | const_cast<X const&>(a).rend( | constant |
例
下面的示例在向量%28上迭代,该向量具有反向的随机访问迭代器%29。
二次
#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
二次
标准库
std::array
std::deque
std::list
std::vector
std::map
std::multimap
std::set
std::multiset
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。