Bibliothèque C ++ Unordered_map - fonction max_load_factor ()

La description

La fonction C ++ std::unordered_map::max_load_factor() renvoie le facteur de charge maximum actuel pour le conteneur unordered_map.

Le facteur de charge est calculé comme suit -

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

La valeur par défaut de max_load_factor est 1.0

Le facteur de charge influence la probabilité de collision dans la table de hachage. Le conteneur utilise la valeur de max_load_factor comme seuil qui force une augmentation du nombre de buckets et provoque ainsi un rehash.

Déclaration

Voici la déclaration de la fonction std :: unordered_map :: max_load_factor () de l'en-tête std :: unordered_map.

C ++ 11

float max_load_factor() const noexcept;

Paramètres

Aucun

Valeur de retour

Renvoie le facteur de charge maximal.

Exceptions

Cette fonction membre ne lève jamais d'exception.

Complexité temporelle

Constante ie O (1)

Exemple

L'exemple suivant montre l'utilisation de la fonction 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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

max_load_factor of unordered_map = 1