iterator end() noexcept;
const_iterator end() const noexcept;
概要
最終の要素の次を指すイテレータを取得する。
unordered_multiset
は非順序連想コンテナであるため「最終」に特に意味はないが、begin()
で得られたイテレータを end()
まで operator++()
でイテレートすることで当該コンテナの要素を漏れなくダブりなく走査することができる。
戻り値
最終の要素の次を指すイテレータ
例外
投げない。
計算量
定数
備考
const
版ではない end
が返す iterator
も読み取り専用イテレータである。
(が、iterator
と const_iterator
が同じ型とは限らない)
例
#include <iostream>
#include <algorithm>
#include <iterator>
#include <unordered_set>
int main()
{
std::unordered_multiset<int> ums{ 1, 2, 3, 1, 2, 3, };
const std::unordered_multiset<int> cums{ums};
std::copy(ums.begin(), ums.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::copy(cums.begin(), cums.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
}
17
#include <iostream>
#include <algorithm>
#include <iterator>
#include <unordered_set>
int main()
{
std::unordered_multiset<int> ums{ 1, 2, 3, 1, 2, 3, };
const std::unordered_multiset<int> cums{ums};
std::copy(ums.begin(), ums.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::copy(cums.begin(), cums.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
}
出力
3 3 2 2 1 1
1 1 2 2 3 3
注:unordered_multiset
は非順序連想コンテナであるため、出力順序は無意味であることに注意
バージョン
言語
- C++11
処理系
- Clang: 3.0 ✅, 3.1 ✅
- GCC: 4.4.7 ✅, 4.5.3 ✅, 4.6.3 ✅, 4.7.0 ✅
- ICC: ?
- Visual C++: ?
関連項目
名前 | 説明 |
---|---|
begin |
先頭要素を指すイテレータの取得 |
cbegin |
先頭要素を指す読み取り専用イテレータの取得 |
cend |
最終要素の次を指す読み取り専用イテレータの取得 |
begin(size_type) |
インデックス(添え字)で指定したバケット内の先頭要素を指すイテレータを取得 |
end(size_type) |
インデックス(添え字)で指定したバケット内の最終要素の次を指すイテレータを取得 |
cbegin(size_type) |
インデックス(添え字)で指定したバケット内の先頭要素を指す読み取り専用イテレータを取得 |
cend(size_type) |
インデックス(添え字)で指定したバケット内の最終要素の次を指す読み取り専用イテレータを取得 |