📜  在C++ STL中设置get_allocator()

📅  最后修改于: 2021-05-30 05:22:49             🧑  作者: Mango

C++ STL中set :: get_allocator()是一个内置函数,该函数返回与该集合关联的分配器对象的副本。

句法:

mulset.get_allocator();

参数:该函数不接受任何参数。

返回值:该函数返回与该集合关联的分配器。

时间复杂度: O(1)。

以下示例说明了set :: get_allocator()方法:

示例1:下面的程序演示了如何使用集合的分配器分配7个元素的数组。

// C++ program to demonstrate
// std::set::get_allocator
  
#include 
#include 
  
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 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;
}
输出:
size of int pointer is: 8
0 1 2 3 4 5 6
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”