在 C++ STL 中设置 get_allocator()


本文中,我们将讨论 C++ STL 中的 set::get_allocator() 函数,它们语法、工作方式和返回值。

什么是 C++ STL 中的 Set?

C++ STL 中的 Set 是容器,必须按照一般顺序包含唯一元素。Set 必须包含唯一元素,因为元素的值会识别出该元素。一旦将值添加到 set 容器中,后来就不能修改,尽管我们仍然可以删除或向 set 添加值。set 被用作二叉搜索树。

什么是 set:: get_allocator()?

get_allocator() 函数是 C++ STL 中的一项内置函数,该函数在 <set> 头文件中定义。该函数返回与之关联的 set 容器的分配器对象的副本。get_allocator() 用于为 set 容器分配内存块。

分配器是一种对 set 容器进行动态内存分配的对象。

语法

Set1.get_allocator();

参数

该函数不接受任何参数

返回值

该函数返回分配器或与该函数关联的对象的分配器的副本。

示例

 动态演示

#include <iostream>
#include <set>
using namespace std;
void input(int* arr){
   for(int i = 0; i <= 5; i++)
   arr[i] = i;
}
void output(int* arr){
   for (int i = 0; i <= 5; i++)
   cout << arr[i] << " ";
   cout << endl;
}
int main(){
   set<int> mySet;
   int* arr;
   arr = mySet.get_allocator().allocate(6);
   input(arr);
   output(arr);
   mySet.get_allocator().deallocate(arr, 6);
   return 0;
}

输出

如果我们运行上述代码,它将生成以下输出 −

0 1 2 3 4 5

更新于:2020 年 3 月 5 日

189 次浏览

开启你的 职业生涯

完成课程以获得认证

开始
广告