◐ Shell
clean mode source ↗

名前付き要件: ReversibleContainer - cppreference.com

提供: cppreference.com

ReversibleContainerLegacyBidirectionalIterator または LegacyRandomAccessIterator の要件を満たすイテレータを持つ 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
定数の a に対しては const_reverse_iterator
reverse_iterator(end()) 定数時間
a.rend() reverse_iterator
定数の a に対しては const_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() 定数時間

以下の例はベクタ (ランダムアクセスイテレータを持ちます) を逆順に反復します。

#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';
    }
}

出力:

標準ライブラリ

  • std::array
  • std::deque
  • std::list
  • std::vector
  • std::map
  • std::multimap
  • std::set
  • std::multiset