在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