public member type
<unordered_set>

std::unordered_multiset::end

container iterator (1)
      iterator end() noexcept;const_iterator end() const noexcept;
bucket iterator (2)
      local_iterator end (size_type n);const_local_iterator end (size_type n) const;
返回指向末尾的迭代器
返回一個指向 `unordered_multiset` 容器 (1) 或其某個桶 (2) 中“超越最後一個元素”位置的迭代器。

end不指向任何元素,而是指向 `unordered_multiset` 容器中最後一個元素的下一個位置(其“超越最後一個元素”的位置)。因此,返回的值不應被解引用——它通常用於描述一個範圍的開端,例如:[begin,end).

請注意,`unordered_multiset` 物件不對具有不同值的元素如何排序做出任何保證。但是,在任何情況下,從其begin到其end的範圍都將覆蓋容器(或桶)中的所有元素,直到迭代器失效。

在 `unordered_multiset` 中的所有迭代器都對元素具有 const 訪問許可權(即使是那些型別前沒有字首 `const_):可以在容器中插入或刪除元素,但在容器中不能修改它們。

引數

n
桶編號。該值應小於 bucket_count
這是一個可選引數,它改變了此成員函式的行為:如果設定了該引數,則檢索到的迭代器指向儲存桶的“越尾”元素,否則它指向容器的“越尾”元素。
成員型別size_type是一種無符號整型型別。

返回值

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

所有返回型別(iterator, const_iterator, local_iteratorconst_local_iterator)都是成員型別。在 `unordered_multiset` 類模板中,這些是 forward iterator 型別。

示例

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

int main ()
{
  std::unordered_multiset<std::string> myums =
    {"father","mother","son","daughter","son","son"};

  std::cout << "myums contains:";
  for ( auto it = myums.begin(); it != myums.end(); ++it )
    std::cout << " " << *it;
  std::cout << std::endl;

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

  return 0;
}

可能的輸出
myums contains: father mother daughter son son son
myset's buckets contain:
bucket #0 contains:
bucket #1 contains: father
bucket #2 contains: mother
bucket #3 contains: daughter son son son
bucket #4 contains: 
bucket #5 contains: 
bucket #6 contains: 


複雜度

常量。

迭代器有效性

沒有變化。

另見