public member function
<unordered_set>

std::unordered_multiset::bucket

size_type bucket ( const key_type& k ) const;
定位元素的桶
返回值為 k 的元素所在桶的編號。

桶是容器內部雜湊表中的一個槽,元素根據其雜湊值被分配到其中。相同值的元素位於同一個桶中。桶的編號從0(bucket_count-1).

桶中的單個元素可以透過 unordered_multiset::beginunordered_multiset::end 返回的範圍迭代器來訪問。

引數

k
要查詢桶的值。
成員型別key_type是容器中元素的型別。在 unordered_set 容器中,它與value_type相同,定義為類模板引數的別名().

返回值

k 對應的桶的順序號。

成員型別size_type是一種無符號整型型別。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// unordered_multiset::bucket
#include <iostream>
#include <string>
#include <unordered_set>

int main ()
{
  std::unordered_multiset<std::string> myums =
  {"water","sand","ice","water"};

  for (const std::string& x: myums) {
    std::cout << x << " is in bucket #" << myums.bucket(x) << std::endl;
  }

  return 0;
}

可能的輸出
ice is in bucket #0
sand is in bucket #2
water is in bucket #4
water is in bucket #4


複雜度

常量。

迭代器有效性

沒有變化。

另見