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
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: 2012 ✅
関連項目
名前 | 説明 |
---|---|
emplace |
コンテナ内への要素の直接構築 |
size |
要素数の取得 |
bucket_count |
バケット数の取得 |
max_load_factor |
負荷率の最大値を取得、設定 |