public member function
<unordered_map>

std::unordered_map::end

容器迭代器 (1)
      iterator end() noexcept;const_iterator end() const noexcept;
桶迭代器 (2)
      local_iterator end (size_type n);const_local_iterator end (size_type n) const;
返回指向末尾的迭代器
返回一个指向 unordered_map 容器 (1) 或其某个桶 (2) 中“越界”元素的迭代器。

end不指向任何元素,而是指向 unordered_map 容器中最后一个元素的下一个位置(其“越界”位置)。因此,返回的值不应被解引用——它通常用于描述一个范围的开端,例如[begin,end).

请注意,unordered_map 对象对其元素的排列顺序不做任何保证。但是,在任何情况下,从其begin到其end都覆盖了容器(或桶)中的所有元素,直到它们失效为止。

参数

n
桶编号。该值应小于 bucket_count
这是一个可选参数,它改变了此成员函数的行为:如果设置了该参数,则检索到的迭代器指向存储桶的“越尾”元素,否则它指向容器的“越尾”元素。
成员类型size_type是一种无符号整型类型。

返回值

指向容器(1)或存储桶(2)末尾之后元素的迭代器。

所有返回类型(iterator, const_iterator, local_iteratorconst_local_iterator)都是成员类型。在 unordered_map 类模板中,这些是 forward iterator 类型。
局部迭代器与非局部迭代器属于同一类别。它们的value_type, difference_type, 指针引用成员类型也相同。但迭代器本身不一定是同一类型。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// unordered_map::begin/end example
#include <iostream>
#include <unordered_map>

int main ()
{
  std::unordered_map<std::string,std::string> mymap;
  mymap = {{"Australia","Canberra"},{"U.S.","Washington"},{"France","Paris"}};

  std::cout << "mymap contains:";
  for ( auto it = mymap.begin(); it != mymap.end(); ++it )
    std::cout << " " << it->first << ":" << it->second;
  std::cout << std::endl;

  std::cout << "mymap's buckets contain:\n";
  for ( unsigned i = 0; i < mymap.bucket_count(); ++i) {
    std::cout << "bucket #" << i << " contains:";
    for ( auto local_it = mymap.begin(i); local_it!= mymap.end(i); ++local_it )
      std::cout << " " << local_it->first << ":" << local_it->second;
    std::cout << std::endl;
  }

  return 0;
}

可能的输出
mymap contains: France:Paris Australia:Canberra U.S.:Washington
mymap's buckets contain:
bucket #0 contains:
bucket #1 contains:
bucket #2 contains:
bucket #3 contains:
bucket #4 contains:
bucket #5 contains: France:Paris
bucket #6 contains:
bucket #7 contains: Australia:Canberra
bucket #8 contains: U.S.:Washington
bucket #9 contains:
bucket #10 contains:


复杂度

常量。

迭代器有效性

没有变化。

另见