public member function
<deque>

std::deque::get_allocator

allocator_type get_allocator() const;
allocator_type get_allocator() const noexcept;
获取分配器
返回与 deque 对象关联的分配器对象的副本。

参数



返回值

分配器。

成员类型allocator_type是容器使用的分配器类型,在 deque 中定义为第二个模板参数 (Alloc).

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// deque::get_allocator
#include <iostream>
#include <deque>

int main ()
{
  std::deque<int> mydeque;
  int * p;
  unsigned int i;

  // allocate an array with space for 5 elements using deque's allocator:
  p = mydeque.get_allocator().allocate(5);

  // construct values in-place on the array:
  for (i=0; i<5; i++) mydeque.get_allocator().construct(&p[i],i);

  std::cout << "The allocated array contains:";
  for (i=0; i<5; i++) std::cout << ' ' << p[i];
  std::cout << '\n';

  // destroy and deallocate:
  for (i=0; i<5; i++) mydeque.get_allocator().destroy(&p[i]);
  mydeque.get_allocator().deallocate(p,5);

  return 0;
}
该示例演示了一种复杂的内存分配方法,用于分配一系列int使用与 deque 对象相同的分配器。输出
The allocated array contains: 0 1 2 3 4


复杂度

常量。

迭代器有效性

没有变化。

数据竞争

访问容器。
不访问任何包含的元素:并发访问或修改它们是安全的。

异常安全

无异常保证:此成员函数从不抛出异常。
复制任何 默认分配器 的实例也保证永远不会抛出异常。

另见