當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ Set get_allocator()用法及代碼示例


在本文中,我們將討論 C++ STL 中的 set::get_allocator() 函數、它們的語法、工作和返回值。

C++ STL 中的 Set 是什麽?

C++ STL 中的集合是容器,它們必須按一般順序具有唯一元素。集合必須具有唯一的元素,因為元素的值標識了元素。一旦在 set 容器中添加了一個值,以後就無法修改,盡管我們仍然可以將這些值刪除或添加到 set 中。集合用作二叉搜索樹。

什麽是 set::get_allocator()?

get_allocator() 函數是 C++ STL 的內置函數,定義在 <set> 頭文件中。此函數返回與其關聯的集合容器的分配器對象的副本。 get_allocator() 用於將內存塊分配給一個集合容器。

Allocator 是一個對象,負責動態分配一個集合容器的內存。

用法

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

相關用法


注:本文由純淨天空篩選整理自Sunidhi Bansal大神的英文原創作品 Set get_allocator() in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。