最終更新日時(UTC):
が更新

履歴 編集

function
<vector>

std::vector::crbegin(C++11)

const_reverse_iterator crbegin() const noexcept;           // (1) C++11
constexpr const_reverse_iterator crbegin() const noexcept; // (1) C++20

概要

最後尾の要素を指す読み取り専用逆イテレータを取得する。

rbegin()は非constvectorオブジェクトに対してreverse_iteratorを返し、constvectorオブジェクトに対してはconst_reverse_iteratorを返すが、crbegin()const_reverse_iteratorを返すバージョンのみが提供されている。

アルゴリズムにイテレータの組を渡す際、アルゴリズム内でデータの書き換えが起こらないというユーザーの意図を示す場合などに有用である。

戻り値

最後尾の要素を指す読み取り専用逆イテレータ

例外

投げない

計算量

定数時間

#include <iostream>
#include <vector>
#include <algorithm>

int main()
{
  std::vector<int> v = {1, 2, 3};

  // このアルゴリズム内ではvの書き換えを決して行わない
  std::for_each(v.crbegin(), v.crend(), [](const int& x) {
    std::cout << x << std::endl;
  });
}

出力

3
2
1

バージョン

言語

  • C++11

処理系

参照