C++ Standard Library C++ STL Library

C++ <list> - get_allocator() Function



The C++ list::get_allocator function returns a copy of allocator object associated with the given list.

Syntax

allocator_type get_allocator() const;
allocator_type get_allocator() const noexcept;

Parameters

None.

Return Value

Returns an allocator associated with the given list.

Time Complexity

Constant i.e, Θ(1).

Example:

In the example below, the list::get_allocator function returns a copy of same allocator object used by the list MyList.

#include <iostream>
#include <list>
using namespace std;
 
int main (){
  list<int> MyList;
  int *p;

  //allocate array with a memory to store 5 
  //elements using list's allocator
  p = MyList.get_allocator().allocate(5);

  //construct values in-place on the array
  for(int i=0; i<5; i++)
    MyList.get_allocator().construct(&p[i], 100*(i+1));

  cout<<"The allocated array contains: ";
  for(int i=0; i<5; i++)
    cout<<p[i]<<" ";

  //destroy and deallocate the array
  for(int i=0; i<5; i++)
    MyList.get_allocator().destroy(&p[i]); 
  MyList.get_allocator().deallocate(p,5);

  return 0;
}

The output of the above code will be:

The allocated array contains: 100 200 300 400 500 

❮ C++ <list> Library