在C++ STL中的unordered_map get_allocator

在C++ STL中的unordered_map get_allocator

unordered_map::get_allocator()是C++ STL中的一种内置函数,它用于获取unordered_map容器的分配器。
语法

Allocator_type get_allocator()

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

返回值:返回与unordered_map相关联的分配器。

下面的程序清楚地说明了unordered_map::get_allocator()函数。

示例-1:

// CPP程序说明
// unordered_map get_allocator()
#include<bits/stdc++.h>
using namespace std;

int main()
{

//'ump'是'unordered_ump'对象
unordered_map<int,int>ump;

//'allocator_type'继承于'unordered_map'
//'u'是'allocator_type'对象
unordered_map<int,int>::allocator_type u=ump.get_allocator();

//将分配器与Pair:<int,int>进行比较
cout << "Is allocator Pair<int, int> : "
      << boolalpha
      << (u==allocator<pair<int,int>> ());

return 0;
}
Is allocator Pair : true

示例-2:

// CPP程序说明
// unordered_map get_allocator()
#include<bits/stdc++.h>
using namespace std;
  
int main(void)
{
unordered_map<char,int>um;
pair<const char,int>*a;
  
a=um.get_allocator().allocate(8);
  
cout<<"Allocated size = "<<sizeof(*a)*8<<endl;
  
return 0;
}
Allocated size = 64

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程