当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ set get_allocator()用法及代码示例


C++ STL中的set::get_allocator()是一个内置函数,该函数返回与该集合关联的分配器对象的副本。

用法:

mulset.get_allocator();

参数:该函数不接受任何参数。


返回值:此函数返回与集合关联的分配器。

时间复杂度:O(1)。

以下是说明set::get_allocator()方法的示例:

范例1:下面的程序显示了如何使用集合的分配器分配7个元素的数组。

// C++ program to demonstrate 
// std::set::get_allocator 
  
#include <iostream> 
#include <set> 
  
using namespace std; 
  
void input(int* a) 
{ 
  
    for (int i = 0; i < 7; i++) 
        a[i] = i; 
} 
  
void output(int* a) 
{ 
  
    for (int i = 0; i < 7; i++) 
        cout << a[i] << " "; 
  
    cout << endl; 
} 
  
int main() 
{ 
  
    // declare set 
    set<int> mset; 
  
    // declare int pointer 
    int* arr; 
  
    cout << "size of int pointer is:"
         << sizeof(arr) << endl; 
  
    // use allocator of set to allocate array arr. 
    arr = mset.get_allocator() 
              .allocate(7); 
  
    // insert elements(numbers from 0-6) 
    // in the array 
    input(arr); 
  
    // produce output from the array 
    output(arr); 
  
    // deallocate the memory allotted previously 
    mset.get_allocator() 
        .deallocate(arr, 7); 
  
    return 0; 
}
输出:
size of int pointer is:8
0 1 2 3 4 5 6



注:本文由纯净天空筛选整理自Kushagra7744大神的英文原创作品 set get_allocator() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。