最終更新日時: 2026年02月17日 23時22分33秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<flat_map>

# std::flat_map::rbegin(C++23)

    reverse_iterator rbegin() noexcept;           // (1) C++23
    constexpr reverse_iterator rbegin() noexcept; // (1) C++26

    const_reverse_iterator rbegin() const noexcept;           // (2) C++23
    constexpr const_reverse_iterator rbegin() const noexcept; // (2) C++26

## 概要

コンテナ内の末尾を指す逆イテレータを取得する。

内部的に、このコンテナは各要素をキーの値に従って下位から上位へと並べており、従って `rbegin()` は最上位のキーにあたる値を指すイテレータを返す。 `rbegin()` は `end()` と同じ要素を指すわけではなく、その前の要素を指すことに注意。

## 戻り値

反転したシーケンスの先頭を指す逆イテレータ。 `reverse_iterator` と `const_reverse_iterator` はともにメンバ型である。このクラステンプレートにおいて、これらは逆ランダムアクセスイテレータであり、それぞれ `reverse_iterator<iterator>`, `reverse_iterator<const_iterator>` と定義される。

## 計算量

定数時間。

## 例

    #include <iostream>
    #include <flat_map>

    int main()
    {
      std::flat_map<int, char> fm {
        {5, 'e'},
        {2, 'b'},
        {4, 'd'},
        {1, 'a'},
        {1, 'a'}
      };

      std::flat_map<int, char>::reverse_iterator i = fm.rbegin();
      for (; i != fm.rend() ; ++i) {
        std::cout << i->first << " " << i->second << std::endl;
      }
    }

### 出力

    5 e
    4 d
    2 b
    1 a

## バージョン

### 言語

- C++23

### 処理系

- Clang: ??
- GCC: ??
- Visual C++: ??

## 関連項目

名前 | 説明
--- | ---
`flat_map::begin` | 先頭を指すイテレータを取得する
`flat_map::end` | 末尾の次を指すイテレータを取得する
`flat_map::cbegin` | 先頭を指すconstイテレータを取得する
`flat_map::cend` | 末尾の次を指すconstイテレータを取得する
`flat_map::rend` | 先頭の前を指す逆イテレータを取得する
`flat_map::crbegin` | 末尾を指す逆constイテレータを取得する
`flat_map::crend` | 先頭の前を指す逆constイテレータを取得する

## 参照

- P3372R3 constexpr containers and adaptors