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等的更多准备工作,请参阅“完整面试准备课程” 。