iterator end() noexcept;
const_iterator end() const noexcept;
概要
最終の要素の次を指すイテレータを取得する。
unordered_multimap
は非順序連想コンテナであるため「最終」に特に意味はないが、begin()
で得られたイテレータを end()
まで operator++()
でイテレートすることで当該コンテナの要素を漏れなく走査できる。
戻り値
最終の要素の次を指すイテレータ
例外
投げない。
計算量
定数
備考
- この関数によって返されるイテレータは、
*this
が保持するいずれの要素も参照しない。その指す先は、不正な範囲となるだろう
例
#include <iostream>
#include <string>
#include <algorithm>
#include <utility>
#include <unordered_map>
int main()
{
using mymap = std::unordered_multimap<std::string, int>;
mymap um{ { "1st", 1 }, { "2nd", 2 }, { "3rd", 3 }, };
const mymap cum{um};
std::for_each(um.begin(), um.end(), [](mymap::value_type p)
{ std::cout << '{' << p.first << ',' << p.second << "}, "; });
std::cout << std::endl;
std::for_each(cum.begin(), cum.end(), [](mymap::value_type p)
{ std::cout << '{' << p.first << ',' << p.second << "}, "; });
std::cout << std::endl;
}
xxxxxxxxxx
#include <iostream>
#include <string>
#include <algorithm>
#include <utility>
#include <unordered_map>
int main()
{
using mymap = std::unordered_multimap<std::string, int>;
mymap um{ { "1st", 1 }, { "2nd", 2 }, { "3rd", 3 }, };
const mymap cum{um};
std::for_each(um.begin(), um.end(), [](mymap::value_type p)
{ std::cout << '{' << p.first << ',' << p.second << "}, "; });
std::cout << std::endl;
std::for_each(cum.begin(), cum.end(), [](mymap::value_type p)
出力例
{3rd,3}, {1st,1}, {2nd,2},
{3rd,3}, {1st,1}, {2nd,2},
注:unordered_multimap
は非順序連想コンテナであるため、出力順序は無意味であることに注意
バージョン
言語
- C++11
処理系
- Clang: 3.1 ✅
- GCC: 4.6.4 ✅
- ICC: ?
- Visual C++: ?
関連項目
名前 | 説明 |
---|---|
begin |
先頭要素を指すイテレータの取得 |
cbegin |
先頭要素を指す読み取り専用イテレータの取得 |
cend |
最終要素の次を指す読み取り専用イテレータの取得 |
begin(size_type) |
インデックス(添え字)で指定したバケット内の先頭要素を指すイテレータを取得 |
end(size_type) |
インデックス(添え字)で指定したバケット内の最終要素の次を指すイテレータを取得 |
cbegin(size_type) |
インデックス(添え字)で指定したバケット内の先頭要素を指す読み取り専用イテレータを取得 |
cend(size_type) |
インデックス(添え字)で指定したバケット内の最終要素の次を指す読み取り専用イテレータを取得 |