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
#include
using namespace std;
int main()
{
//'c' is object of 'unordered_set'
unordered_set c;
//'allocator_type' is inherit in 'unordered_set'
//'a' is object of 'allocator_type'
//'get_allocator()' is member of 'unordered_set'
unordered_set::allocator_type a = c.get_allocator();
// Comparing the Allocator with Pair
cout << "Is allocator Pair : "
<< boolalpha
<< (a == allocator >());
return 0;
}
输出:
Is allocator Pair : true
复杂度:
执行操作需要花费恒定(O(1))的时间复杂度。
程序2:
// CPP program to illustrate
// unordered_set get_allocator()
#include
#include
using namespace std;
int main(void)
{
unordered_map um;
pair* a;
a = um.get_allocator().allocate(8);
cout << "Allocated size = " << sizeof(*a) * 8 << endl;
return 0;
}
输出:
Allocated size = 64
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。