CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 19 Jul 2025 10:25:06 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/unordered_map/unordered_map/max_load_factor/
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 19 Jul 2025 10:25:06 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"900c-VRqzCuXWPBDGqovxlVC4kh9uFDE"
Content-Encoding: gzip
The first version (1) returns the current maximum load factor for the unordered_map container.
The second version (2) sets z as the new maximum load factor for the unordered_map container.
The load factor is the ratio between the number of elements in the container (its size) and the number of buckets (bucket_count).
By default, unordered_map containers have a max_load_factor of 1.0.
The load factor influences the probability of collision in the hash table (i.e., the probability of two elements being located in the same bucket). The container uses the value of max_load_factor as the threshold that forces an increase in the number of buckets (and thus causing a rehash).
Note though, that implementations may impose an upper limit on the number of buckets (see max_bucket_count), which may force the container to ignore the max_load_factor.
Possible output:
May trigger a rehash (not included).
A rehash is forced if the new container max_load_factor is set below the current load_factor.
References to elements in the unordered_map container remain valid in all cases, even after a rehash.
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
<unordered_map>
-
unordered_mapC++11
-
unordered_multimapC++11
unordered_map
-
unordered_map::~unordered_mapC++11
-
unordered_map::unordered_mapC++11
member functions
-
unordered_map::atC++11
-
unordered_map::beginC++11
-
unordered_map::bucketC++11
-
unordered_map::bucket_countC++11
-
unordered_map::bucket_sizeC++11
-
unordered_map::cbeginC++11
-
unordered_map::cendC++11
-
unordered_map::clearC++11
-
unordered_map::countC++11
-
unordered_map::emplaceC++11
-
unordered_map::emplace_hintC++11
-
unordered_map::emptyC++11
-
unordered_map::endC++11
-
unordered_map::equal_rangeC++11
-
unordered_map::eraseC++11
-
unordered_map::findC++11
-
unordered_map::get_allocatorC++11
-
unordered_map::hash_functionC++11
-
unordered_map::insertC++11
-
unordered_map::key_eqC++11
-
unordered_map::load_factorC++11
-
unordered_map::max_bucket_countC++11
-
unordered_map::max_load_factorC++11
-
unordered_map::max_sizeC++11
-
unordered_map::operator[]C++11
-
unordered_map::operator=C++11
-
unordered_map::rehashC++11
-
unordered_map::reserveC++11
-
unordered_map::sizeC++11
-
unordered_map::swapC++11
-
non-member overloads
-
operators (unordered_map)C++11
-
swap (unordered_map)C++11
-
- Reference
- <unordered_map>
- unordered_map
- max_load_factor
public member function
<unordered_map>
std::unordered_map::max_load_factor
get (1) | float max_load_factor() const noexcept; |
---|---|
set (2) | void max_load_factor ( float z ); |
Get or set maximum load factor
The second version (2) sets z as the new maximum load factor for the unordered_map container.
The load factor is the ratio between the number of elements in the container (its size) and the number of buckets (bucket_count).
By default, unordered_map containers have a max_load_factor of 1.0.
The load factor influences the probability of collision in the hash table (i.e., the probability of two elements being located in the same bucket). The container uses the value of max_load_factor as the threshold that forces an increase in the number of buckets (and thus causing a rehash).
Note though, that implementations may impose an upper limit on the number of buckets (see max_bucket_count), which may force the container to ignore the max_load_factor.
Parameters
- z
- The new maximum load factor
Return Value
The current load factor (only for the first version).Example
|
|
Possible output:
current max_load_factor: 1 current size: 4 current bucket_count: 5 current load_factor: 0.8 [max_load_factor halved] new max_load_factor: 0.5 new size: 4 new bucket_count: 11 new load_factor: 0.363636 |
Complexity
Constant.May trigger a rehash (not included).
Iterator validity
No changes, unless a change in this value forces a rehash. In this case, all iterators in the container are invalidated.A rehash is forced if the new container max_load_factor is set below the current load_factor.
References to elements in the unordered_map container remain valid in all cases, even after a rehash.
See also
- unordered_map::load_factor
- Return load factor (public member function)
- unordered_map::bucket_size
- Return bucket size (public member type)
- unordered_map::bucket_count
- Return number of buckets (public member function)
- unordered_map::size
- Return container size (public member function)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us