最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<array>

# std::array::rend(C++11)

    reverse_iterator rend() noexcept;                       // (1) C++11
    constexpr reverse_iterator rend() noexcept;             // (1) C++17

    const_reverse_iterator rend() const noexcept;           // (2) C++11
    constexpr const_reverse_iterator rend() const noexcept; // (2) C++17

## 概要

先頭要素の前を指す逆イテレータを取得する。

## 戻り値

非`const`な文脈では`reverse_iterator`型で先頭要素の前を指す逆イテレータを返し、 `const`な文脈では`const_reverse_iterator`型で 先頭要素の前を指す逆イテレータを返す。

## 例外

投げない

## 計算量

定数時間

## 例

    #include <iostream>
    #include <array>

    int main()
    {
      std::array<int, 3> ar = {1, 2, 3};
      const std::array<int, 3>& car = ar;

      decltype(ar)::reverse_iterator i = ar.rbegin();
      decltype(ar)::reverse_iterator last = ar.rend();

      decltype(ar)::const_reverse_iterator ci = car.rbegin();
      decltype(ar)::const_reverse_iterator clast = car.rend();

      for (; i != last; ++i) {
        std::cout << *i << std::endl;
      }

      for (; ci != clast; ++ci) {
        std::cout << *ci << std::endl;
      }
    }

### 出力

    3
    2
    1
    3
    2
    1

## バージョン

### 言語

- C++11

### 処理系

- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: 2008 (std::tr1) ✅, 2010 ✅, 2012 ✅

## 参照

- P0031R0 A Proposal to Add Constexpr Modifiers to `reverse_iterator`, `move_iterator`, `array` and Range Access