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

履歴 編集

function
<set>

# std::set::rbegin

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

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

## 概要

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

内部的に、`set` コンテナは各要素を下位から上位へと並べており、従って `rbegin()` は最上位のキーにあたる値を指すイテレータを返す。

`rbegin()` は `end()` と同じ要素を指すわけではなく、その前の要素を指すことに注意。

## 戻り値

反転したシーケンスの先頭を指す逆イテレータ。

`reverse_iterator` と `const_reverse_iterator` はともにメンバ型である。`set` クラステンプレートにおいて、これらは双方向イテレータであり、それぞれ `reverse_iterator<iterator>`, `reverse_iterator<const_iterator>` と定義される。

## 計算量

定数時間。

## 例

    #include <iostream>
    #include <set>

    int main()
    {
      std::set<int> c;
      c.insert(5);
      c.insert(2);
      c.insert(4);
      c.insert(1);
      c.insert(0);
      c.insert(0);
      c.insert(9);

      std::set<int>::reverse_iterator i = c.rbegin();
      while (i != c.rend())
        std::cout << *i++ << " ";
      std::cout << std::endl;
    }

### 出力

    9 5 4 2 1 0

## 関連項目

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

## 参照

- P3372R3 constexpr containers and adaptors