iterator begin() noexcept;
const_iterator begin() const noexcept;
概要
先頭の要素を指すイテレータを取得する。
unordered_multiset
は非順序連想コンテナであるため「先頭」に特に意味はないが、begin()
で得られたイテレータを end()
まで operator++()
でイテレートすることで当該コンテナの要素を漏れなくダブりなく走査することができる。
戻り値
先頭の要素を指すイテレータ
例外
投げない
計算量
定数
備考
const
版ではない begin
が返す 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++: ?
関連項目
名前 | 説明 |
---|---|
end |
最終要素の次を指すイテレータの取得 |
cbegin |
先頭要素を指す読み取り専用イテレータの取得 |
cend |
最終要素の次を指す読み取り専用イテレータの取得 |
begin(size_type) |
インデックス(添え字)で指定したバケット内の先頭要素を指すイテレータを取得 |
end(size_type) |
インデックス(添え字)で指定したバケット内の最終要素の次を指すイテレータを取得 |
cbegin(size_type) |
インデックス(添え字)で指定したバケット内の先頭要素を指す読み取り専用イテレータを取得 |
cend(size_type) |
インデックス(添え字)で指定したバケット内の最終要素の次を指す読み取り専用イテレータを取得 |