hash_multimap : : réchauffé (STL/CLR)
Régénère la table de hachage.
void rehash();
Notes
La méthode reconstruit la table de hachage, ce qui garantit hash_multimap : : load_factor (STL/CLR)() <= hash_multimap : : max_load_factor (STL/CLR). Sinon, la table de hachage augmente en taille seulement après une insertion, si nécessaire. (Elle ne diminue jamais automatiquement de taille.) Vous l'utilisez pour ajuster la taille de la table de hachage.
Exemple
// cliext_hash_multimap_rehash.cpp
// compile with: /clr
#include <cliext/hash_map>
typedef cliext::hash_multimap<wchar_t, int> Myhash_multimap;
int main()
{
Myhash_multimap c1 = gcnew Myhash_multimap;
c1.insert(Myhash_multimap::make_value(L'a', 1));
c1.insert(Myhash_multimap::make_value(L'b', 2));
c1.insert(Myhash_multimap::make_value(L'c', 3));
// display contents " [a 1] [b 2] [c 3]"
for each (Myhash_multimap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// inspect current parameters
System::Console::WriteLine("bucket_count() = {0}", c1.bucket_count());
System::Console::WriteLine("load_factor() = {0}", c1.load_factor());
System::Console::WriteLine("max_load_factor() = {0}",
c1.max_load_factor());
System::Console::WriteLine();
// change max_load_factor and redisplay
c1.max_load_factor(0.25f);
System::Console::WriteLine("bucket_count() = {0}", c1.bucket_count());
System::Console::WriteLine("load_factor() = {0}", c1.load_factor());
System::Console::WriteLine("max_load_factor() = {0}",
c1.max_load_factor());
System::Console::WriteLine();
// rehash and redisplay
c1.rehash(100);
System::Console::WriteLine("bucket_count() = {0}", c1.bucket_count());
System::Console::WriteLine("load_factor() = {0}", c1.load_factor());
System::Console::WriteLine("max_load_factor() = {0}",
c1.max_load_factor());
return (0);
}
Configuration requise
En-tête : <cliext/hash_map>
Espace de noms cliext
Voir aussi
Référence
hash_multimap : : bucket_count (STL/CLR)