CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 19 Jul 2025 10:41:12 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/unordered_set/unordered_set/reserve/
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 19 Jul 2025 10:41:12 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"874c-LsUXBlglMAk8TcmH29QdGzxzomo"
Content-Encoding: gzip
Sets the number of buckets in the container (bucket_count) to the most appropriate to contain at least n elements.
If n is greater than the current bucket_count multiplied by the max_load_factor, the container's bucket_count is increased and a rehash is forced.
If n is lower than that, the function may have no effect.
Possible output:
By calling reserve with the size we expected for the unordered_set container we avoided the multiple rehashes that the increases in container size could have produced and optimized the size of the hash table.
Average case: linear in container size.
Worst case: quadratic in container size.
If no actual rehash happens, no changes.
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_set>
-
unordered_multisetC++11
-
unordered_setC++11
unordered_set
-
unordered_set::~unordered_setC++11
-
unordered_set::unordered_setC++11
member functions
-
unordered_set::beginC++11
-
unordered_set::bucketC++11
-
unordered_set::bucket_countC++11
-
unordered_set::bucket_sizeC++11
-
unordered_set::cbeginC++11
-
unordered_set::cendC++11
-
unordered_set::clearC++11
-
unordered_set::countC++11
-
unordered_set::emplaceC++11
-
unordered_set::emplace_hintC++11
-
unordered_set::emptyC++11
-
unordered_set::endC++11
-
unordered_set::equal_rangeC++11
-
unordered_set::eraseC++11
-
unordered_set::findC++11
-
unordered_set::get_allocatorC++11
-
unordered_set::hash_functionC++11
-
unordered_set::insertC++11
-
unordered_set::key_eqC++11
-
unordered_set::load_factorC++11
-
unordered_set::max_bucket_countC++11
-
unordered_set::max_load_factorC++11
-
unordered_set::max_sizeC++11
-
unordered_set::operator=C++11
-
unordered_set::rehashC++11
-
unordered_set::reserveC++11
-
unordered_set::sizeC++11
-
unordered_set::swapC++11
-
non-member overloads
-
operators (unordered_set)C++11
-
swap (unordered_set)C++11
-
- Reference
- <unordered_set>
- unordered_set
- reserve
public member function
<unordered_set>
std::unordered_set::reserve
void reserve ( size_type n );
Request a capacity change
If n is greater than the current bucket_count multiplied by the max_load_factor, the container's bucket_count is increased and a rehash is forced.
If n is lower than that, the function may have no effect.
Parameters
- n
- The number of elements requested as minimum capacity.
Member type size_type is an unsigned integral type.
Return value
noneExample
|
|
Possible output:
myset contains: highway house office gym parking |
By calling reserve with the size we expected for the unordered_set container we avoided the multiple rehashes that the increases in container size could have produced and optimized the size of the hash table.
Complexity
In case of rehash,Average case: linear in container size.
Worst case: quadratic in container size.
Iterator validity
If a rehash happens, all iterators are invalidated, but references and pointers to individual elements remain valid.If no actual rehash happens, no changes.
See also
- unordered_set::rehash
- Set number of buckets (public member function)
- unordered_set::bucket_count
- Return number of buckets (public member function)
- unordered_set::max_load_factor
- Get or set maximum load factor (public member function)
- unordered_set::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