public member function
<unordered_set>

std::unordered_multiset::load_factor

float load_factor() const noexcept;
返回負載因子
返回 `unordered_multiset` 容器中的當前負載因子。

負載因子是容器中元素數量(其 size)與桶數量(bucket_count)之間的比率。

load_factor = size / bucket_count

負載因子會影響雜湊表中衝突的機率(即兩個元素位於同一桶的機率)。容器會自動增加桶的數量,以將負載因子保持在其 max_load_factor 指定的閾值以下,每次需要擴充套件時都會導致 rehash

要檢索或更改此閾值,請使用成員函式 max_load_factor

引數



返回值

當前的負載因子。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// unordered_multiset hash table stats
#include <iostream>
#include <unordered_set>

int main ()
{
  std::unordered_multiset<int> myums;

  std::cout << "size = " << myums.size() << std::endl;
  std::cout << "bucket_count = " << myums.bucket_count() << std::endl;
  std::cout << "load_factor = " << myums.load_factor() << std::endl;
  std::cout << "max_load_factor = " << myums.max_load_factor() << std::endl;

  return 0;
}

可能的輸出
size = 0
bucket_count = 11
load_factor = 0
max_load_factor = 1


複雜度

常量。

迭代器有效性

沒有變化。

另見