公有成员函数
<unordered_set>

std::unordered_multiset::bucket_count

size_type bucket_count() const noexcept;
返回桶的数量
返回 `unordered_multiset` 容器中的桶的数量。

桶是容器内部哈希表中用于根据元素的哈希值将元素分配到的槽。

桶的数量直接影响容器哈希表的负载因子(从而影响冲突的概率)。容器会自动增加桶的数量,以将负载因子保持在其最大负载因子以下,并在需要增加桶的数量时执行重哈希

参数



返回值

当前的桶数量。

成员类型size_type是一种无符号整型类型。

示例

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

int main ()
{
  std::unordered_multiset<std::string> myums =
  {"Klingon","Vulcan","Klingon","Cardassian","Vulcan","Human"};

  unsigned n = myums.bucket_count();

  std::cout << "myums has " << n << " buckets.\n";

  for (unsigned i=0; i<n; ++i) {
    std::cout << "bucket #" << i << " contains:";
    for (auto it = myums.begin(i); it!=myums.end(i); ++it)
      std::cout << " " << *it;
    std::cout << "\n";
  }

  return 0;
}

可能的输出
myums has 7 buckets.
bucket #0 contains: Vulcan Vulcan
bucket #1 contains: 
bucket #2 contains: 
bucket #3 contains: Cardassian
bucket #4 contains: 
bucket #5 contains: Human Klingon Klingon
bucket #6 contains: 


复杂度

常量。

迭代器有效性

没有变化。

另见