unordered_set的get_allocator()方法是C++标准模板库(STL)的一部分。此方法获取存储的分配器对象并返回它。
用法:
Allocator_type get_allocator() const;
其中allocator_type是容器使用的分配器的类型。
返回值:它返回用于构造容器的分配器对象。
异常:在此方法中,如果任何元素比较对象引发异常,则引发Exception。
下面的程序演示了unordered_set::get_allocator()函数
程序1:
// CPP program to illustrate
// unordered_set get_allocator()
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
//'c' is object of 'unordered_set'
unordered_set<int> c;
//'allocator_type' is inherit in 'unordered_set'
//'a' is object of 'allocator_type'
//'get_allocator()' is member of 'unordered_set'
unordered_set<int>::allocator_type a = c.get_allocator();
// Comparing the Allocator with Pair<int, int>
cout << "Is allocator Pair<int, int>:"
<< boolalpha
<< (a == allocator<pair<int, int> >());
return 0;
}
输出:
Is allocator Pair:true
复杂:
执行操作需要花费恒定(O(1))的时间复杂度。
程序2:
// CPP program to illustrate
// unordered_set get_allocator()
#include <iostream>
#include <unordered_map>
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
相关用法
- C++ cin get()用法及代码示例
- C++ ratio_equal()用法及代码示例
- C++ std::allocator()用法及代码示例
- C++ ratio_not_equal()用法及代码示例
- C++ ios bad()用法及代码示例
- C++ mbrtoc32()用法及代码示例
注:本文由纯净天空筛选整理自SoumikMondal大神的英文原创作品 unordered_set get_allocator() in C++ STL with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。