C++ 無序對映庫 - max_load_factor() 函式



描述

C++ 函式std::unordered_map::max_load_factor()返回無序對映容器的當前最大負載因子。

負載因子的計算方法如下:

load_factor = um.size() / um.bucket_count()

預設值max_load_factor是 1.0

負載因子影響雜湊表中碰撞的機率。容器使用該值max_load_factor作為閾值,強制增加桶的數量,從而導致重新雜湊。

宣告

以下是來自std::unordered_map 標頭檔案的 std::unordered_map::max_load_factor() 函式宣告。

C++11

float max_load_factor() const noexcept;

引數

返回值

返回最大負載因子。

異常

此成員函式從不丟擲異常。

時間複雜度

常數,即 O(1)

示例

以下示例顯示了 std::unordered_map::max_load_factor() 函式的用法。

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_map<char, int> um;

   cout << "max_load_factor of unordered_map = " 
      << um.max_load_factor() << endl;

   return 0;
}

讓我們編譯並執行上述程式,這將產生以下結果:

max_load_factor of unordered_map = 1
unordered_map.htm
廣告