C++ STL中的set::get_allocator()是一个内置函数,该函数返回与该集合关联的分配器对象的副本。
用法:
mulset.get_allocator();
参数:该函数不接受任何参数。
返回值:此函数返回与集合关联的分配器。
时间复杂度:O(1)。
以下是说明set::get_allocator()方法的示例:
范例1:下面的程序显示了如何使用集合的分配器分配7个元素的数组。
// 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;
}
输出:
size of int pointer is:8 0 1 2 3 4 5 6
注:本文由纯净天空筛选整理自Kushagra7744大神的英文原创作品 set get_allocator() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。