Skip to content
Related Articles

Related Articles

unordered_set reserve() function in C++ STL
  • Difficulty Level : Basic
  • Last Updated : 28 Sep, 2018

The unordered_set::reserve() method is a builtin function in C++ STL which is used to request capacity change of unordered_set. It sets the number of buckets in the container 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 the bucket_count, then the function has no effect on it.

Syntax:

unordered_set_name.reserve(size_type n)

Parameter: The function accepts a single mandatory parameter n which sets the number of buckets in the container (bucket_count) to the most appropriate to contain at least n elements.

Return Value: This function doesn’t returns anything.

Below programs illustrate the unordered_set::reserve() function:



Program 1:




// C++ program to illustrate
// the unordered_set.reserve()
#include <iostream>
#include <string>
#include <unordered_set>
  
using namespace std;
  
int main()
{
    // Declaration of unordered_set
    unordered_set<string> us;
  
    us.reserve(3);
  
    us.insert("geeks");
    us.insert("for");
    us.insert("geeks");
    us.insert("users");
    us.insert("geeksforgeeks");
  
    for (auto it = us.begin(); it != us.end(); it++) {
        cout << *it << " ";
    }
  
    return 0;
}
Output:
geeksforgeeks users geeks for

Program 2:




// C++ program to illustrate
// the unordered_set.reserve()
#include <iostream>
#include <string>
#include <unordered_set>
  
using namespace std;
  
int main()
{
    // Declaration of unordered_set
    unordered_set<string> us;
  
    us.reserve(0);
  
    us.insert("geeks");
    us.insert("for");
    us.insert("geeks");
  
    for (auto it = us.begin(); it != us.end(); it++) {
        cout << *it << " ";
    }
  
    return 0;
}
Output:
for geeks
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.
My Personal Notes arrow_drop_up
Recommended Articles
Page :