iterator end() noexcept; // (1) C++11
constexpr iterator end() noexcept; // (1) C++17
const_iterator end() const noexcept; // (2) C++11
constexpr const_iterator end() const noexcept; // (2) C++17
概要
末尾の次を指すイテレータを取得する。
戻り値
非const
な文脈ではiterator
型で最後尾要素の次を指すイテレータを返し、
const
な文脈ではconst_iterator
型で 最後尾要素の次を指すイテレータを返す。
例外
投げない
計算量
定数時間
備考
- この関数によって返されるイテレータは、
*this
が保持するいずれの要素も参照しない。その指す先は、不正な範囲となるだろう
例
#include <iostream>
#include <array>
int main()
{
std::array<int, 3> ar = {1, 2, 3};
const std::array<int, 3>& car = ar;
decltype(ar)::iterator i = ar.begin();
decltype(ar)::iterator last = ar.end();
decltype(ar)::const_iterator ci = car.begin();
decltype(ar)::const_iterator clast = car.end();
for (; i != last; ++i) {
std::cout << *i << std::endl;
}
for (; ci != clast; ++ci) {
std::cout << *ci << std::endl;
}
}
出力
1
2
3
1
2
3
バージョン
言語
- C++11
処理系
- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: 2008 (std::tr1) ✅, 2010 ✅, 2012 ✅