在C++ STL中multiset get_allocator()函数的应用

在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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程