const_reverse_iterator crbegin() const noexcept; // (1) C++11
constexpr const_reverse_iterator crbegin() const noexcept; // (1) C++20
概要
最後尾の要素を指す読み取り専用逆イテレータを取得する。
rbegin
()は非const
なvector
オブジェクトに対してreverse_iterator
を返し、const
なvector
オブジェクトに対しては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
処理系
- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: 2010 ✅, 2012 ✅, 2013 ✅