Open In App
Related Articles

set get_allocator() in C++ STL

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
The set::get_allocator() in C++ STL is an in-built function which returns the copy of the allocator object associated with the set. Syntax:
mulset.get_allocator();
Parameters: This function does not accept any parameters. Return Value: This function returns the allocator associated with the set. Time Complexity: O(1). Below are the examples to illustrate set::get_allocator() method: Example 1: The program below shows how allocator of a set can be used to allocate an array of 7 elements.
// C++ program to demonstrate
// std::set::get_allocator
  
#include <iostream>
#include <set>
  
using namespace std;
  
void input(int* a)
{
  
    for (int i = 0; i < 7; i++)
        a[i] = i;
}
  
void output(int* a)
{
  
    for (int i = 0; i < 7; i++)
        cout << a[i] << " ";
  
    cout << endl;
}
  
int main()
{
  
    // declare set
    set<int> mset;
  
    // declare int pointer
    int* arr;
  
    cout << "size of int pointer is: "
         << sizeof(arr) << endl;
  
    // use allocator of set to allocate array arr.
    arr = mset.get_allocator()
              .allocate(7);
  
    // insert elements(numbers from 0-6)
    // in the array
    input(arr);
  
    // produce output from the array
    output(arr);
  
    // deallocate the memory allotted previously
    mset.get_allocator()
        .deallocate(arr, 7);
  
    return 0;
}

                    
Output:
size of int pointer is: 8
0 1 2 3 4 5 6


Last Updated : 29 Oct, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads