- array[meta header]
- std[meta namespace]
- array[meta class]
- function[meta id-type]
- cpp11[meta cpp]
const_iterator cend() const noexcept; // C++11
constexpr const_iterator cend() const noexcept; // C++17最後尾の要素の次を指す読み取り専用イテレータを取得する。
end()は非constなarrayオブジェクトに対してiteratorを返し、constなarrayオブジェクトに対してはconst_iteratorを返すが、cend()はconst_iteratorを返すバージョンのみが提供されている。
アルゴリズムにイテレータの組を渡す際、アルゴリズム内でデータの書き換えが起こらないというユーザーの意図を示す場合などに有用である。
最後尾要素の次を指す読み取り専用イテレータ
投げない
定数時間
- この関数によって返されるイテレータは、
*thisが保持するいずれの要素も参照しない。その指す先は、不正な範囲となるだろう
#include <iostream>
#include <array>
#include <algorithm>
int main()
{
std::array<int, 3> ar = {1, 2, 3};
// このアルゴリズム内ではarの書き換えを決して行わない
std::for_each(ar.cbegin(), ar.cend(), [](const int& x) {
std::cout << x << std::endl;
});
}- cend[color ff0000]
1
2
3
- C++11
- Clang: ??
- GCC: 4.7.0 [mark verified]
- ICC: ??
- Visual C++: 2010 [mark verified], 2012 [mark verified]