在C++ STL中使用unordered_multimap的get_allocator函数

在C++ STL中使用unordered_multimap的get_allocator函数

unordered_multimap::get_allocator() 是C++ STL中的一个内置函数,用于获取unordered_mulitmap容器的分配器。

语法:

Allocator_type get_allocator()

参数: 此函数不接受任何参数。 返回值: 返回与unordered_multimap关联的分配器。下面的程序说明了 unordered_multimap::get_allocator() 函数的工作原理。

示例1:

// CPP program to illustrate
// unordered_multimap get_allocator()
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 
    //'ump' is object of 'unordered_multimap'
    unordered_multimap<int, int> ump;
 
    //'allocator_type' is inherit in 'unordered_multimap'
    //'u' is object of 'allocator_type'
    unordered_multimap<int, int>::allocator_type u = ump.get_allocator();
 
    // Comparing the Allocator with Pair<int, int>
    cout << "Is allocator Pair<int, int> : "
         << boolalpha
         << (u == allocator<pair<int, int> >());
 
    return 0;
}  

输出:

Is allocator Pair : true

示例2:

// CPP program to illustrate
// unordered_multimap get_allocator()
#include <bits/stdc++.h>
using namespace std;
 
int main(void)
{
    unordered_multimap<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

时间复杂度: O(1)。

辅助空间: O(1)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程