最終更新日時(UTC):
が更新

履歴 編集

function
<unordered_map>

std::unordered_map::load_factor(C++11)

float load_factor() const noexcept;

概要

現在の負荷率(バケットあたりの要素数の平均)を取得する。

戻り値

現在の負荷率として、以下を返す:

例外

投げない。

計算量

定数時間

#include <iostream>
#include <unordered_map>

int main()
{
  std::unordered_map<int,int> um;

  for( int n=0; n<4; n++ )
  {
    um.emplace( n, n );
  }

  std::cout << "current max_load_factor: " << um.max_load_factor() << std::endl;
  std::cout << "current size: " << um.size() << std::endl;
  std::cout << "current bucket_count: " << um.bucket_count() << std::endl;
  std::cout << "current load_factor: " << um.load_factor() << std::endl; // (size / bucket_count)
  std::cout << std::endl;

  return 0;
}

出力例 (Visual C++ 2012)

current max_load_factor: 1
current size: 4
current bucket_count: 8
current load_factor: 0.5

検証

load_factor = size / bucket_count を満たしている。

バージョン

言語

  • C++11

処理系

関連項目

名前 説明
emplace コンテナ内への要素の直接構築
size 要素数の取得
bucket_count バケット数の取得
max_load_factor 負荷率の最大値を取得、設定