public member function
<map>

std::map::get_allocator

allocator_type get_allocator() const;
allocator_type get_allocator() const noexcept;
獲取分配器
返回一個與 map 關聯的分配器物件的副本。

引數



返回值

分配器。

成員型別allocator_type是容器使用的分配器的型別,在 map 中定義為其第四個模板引數的別名(Alloc).

示例

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

int main ()
{
  int psize;
  std::map<char,int> mymap;
  std::pair<const char,int>* p;

  // allocate an array of 5 elements using mymap's allocator:
  p=mymap.get_allocator().allocate(5);

  // assign some values to array
  psize = sizeof(std::map<char,int>::value_type)*5;

  std::cout << "The allocated array has a size of " << psize << " bytes.\n";

  mymap.get_allocator().deallocate(p,5);

  return 0;
}
該示例展示了一種使用與容器相同的分配器為一對陣列分配記憶體的複雜方法。
可能的輸出是
The allocated array has a size of 40 bytes.


複雜度

常量。

迭代器有效性

沒有變化。

資料競爭

訪問容器。
不訪問任何包含的元素:併發訪問或修改它們是安全的。

異常安全

無異常保證:此成員函式從不丟擲異常。
複製任何 預設分配器 的例項化也保證永遠不會丟擲異常。

另見