最終更新日時: 2026年02月17日 23時22分33秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<unordered_map>

# std::unordered_multimap::load_factor(C++11)

    float load_factor() const noexcept;           // (1) C++11
    constexpr float load_factor() const noexcept; // (1) C++26

## 概要

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

## 戻り値

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

    size() / bucket_count()

## 例外

投げない。

## 計算量

定数時間

## 例

    #include <iostream>
    #include <unordered_map>

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

      um.emplace(1, 1);
      um.emplace(1, 1);
      um.emplace(2, 2);
      um.emplace(3, 3);

      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` | 負荷率の最大値を取得、設定

## 参照

- P3372R3 constexpr containers and adaptors