在C++ STL中multiset get_allocator()函数的应用
在C++ STL中,multiset::get_allocator()是一种内置函数,它返回与multiset相关联的分配器对象的副本。
语法:
multiset_name.get_allocator()
其中, allocator_type 是容器使用的分配器类型。
参数: 该函数不需要任何参数。
返回值: 该方法返回用于构造容器的分配器对象。
下面的程序说明了multiset::get_allocator()函数:
程序1:
// CPP代码演示multiset::get_allocator
#include <iostream>
#include <set>
using namespace std;
int main()
{
multiset<int> mymultiset;
int* p;
unsigned int i;
// 使用myset的分配器分配一个包含5个元素的数组
p = mymultiset
.get_allocator()
.allocate(5);
// 为数组分配一些值
p[0] = 10;
p[1] = 10;
p[2] = 20;
p[3] = 30;
p[4] = 20;
cout << "分配的数组包含: ";
for (i = 0; i < 5; i++) {
cout << p[i] << " ";
}
cout << endl;
mymultiset.get_allocator().deallocate(p, 5);
return 0;
}
结果:分配的数组包含:10 10 20 30 20