unordered_map::max_load_factor
Obtém ou define os elementos máximo por partição de memória.
float max_load_factor() const;
void max_load_factor(float factor);
Parâmetros
- factor
O novo fator de carga máxima.
Comentários
A primeira função de membro retorna o fator de carga máxima armazenado.A segunda função de membro substitui o fator de carga máxima armazenados por factor.
Exemplo
// std_tr1__unordered_map__unordered_map_max_load_factor.cpp
// compile with: /EHsc
#include <unordered_map>
#include <iostream>
typedef std::tr1::unordered_map<char, int> Mymap;
int main()
{
Mymap c1;
c1.insert(Mymap::value_type('a', 1));
c1.insert(Mymap::value_type('b', 2));
c1.insert(Mymap::value_type('c', 3));
// display contents " [c 3] [b 2] [a 1]"
for (Mymap::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << it->first << ", " << it->second << "]";
std::cout << std::endl;
// inspect current parameters
std::cout << "bucket_count() == " << c1.bucket_count() << std::endl;
std::cout << "load_factor() == " << c1.load_factor() << std::endl;
std::cout << "max_bucket_count() == "
<< c1.max_bucket_count() << std::endl;
std::cout << "max_load_factor() == "
<< c1.max_load_factor() << std::endl;
std::cout << std::endl;
// change max_load_factor and redisplay
c1.max_load_factor(0.10f);
std::cout << "bucket_count() == " << c1.bucket_count() << std::endl;
std::cout << "load_factor() == " << c1.load_factor() << std::endl;
std::cout << "max_bucket_count() == "
<< c1.max_bucket_count() << std::endl;
std::cout << "max_load_factor() == "
<< c1.max_load_factor() << std::endl;
std::cout << std::endl;
// rehash and redisplay
c1.rehash(100);
std::cout << "bucket_count() == " << c1.bucket_count() << std::endl;
std::cout << "load_factor() == " << c1.load_factor() << std::endl;
std::cout << "max_bucket_count() == "
<< c1.max_bucket_count() << std::endl;
std::cout << "max_load_factor() == "
<< c1.max_load_factor() << std::endl;
std::cout << std::endl;
return (0);
}
[c, 3] [b, 2] [a, 1] bucket_count() == 8 load_factor() == 0.375 max_bucket_count() == 8 max_load_factor() == 4 bucket_count() == 8 load_factor() == 0.375 max_bucket_count() == 8 max_load_factor() == 0.1 bucket_count() == 128 load_factor() == 0.0234375 max_bucket_count() == 128 max_load_factor() == 0.1
Requisitos
Cabeçalho:<unordered_map>
Namespace: std::tr1