std::allocator_traits<Alloc>::allocate

来自cppreference.com
 
 
动态内存管理
未初始化存储
(C++17)
垃圾收集支持
杂项
(C++20)
(C++11)
(C++11)
C 库
低层内存管理
 
 
定义于头文件 <memory>
(1)
static pointer allocate( Alloc& a, size_type n );
(C++11 起)
(C++20 前)
[[nodiscard]] static pointer allocate( Alloc& a, size_type n );
(C++20 起)
(2)
static pointer allocate( Alloc& a, size_type n,
                         const_void_pointer hint );
(C++11 起)
(C++20 前)
[[nodiscard]] static pointer allocate( Alloc& a, size_type n,
                                       const_void_pointer hint );
(C++20 起)

用分配器 a 分配 n*sizeof(Alloc::value_type) 字节的未初始化存储。

1) 调用 a.allocate(n)
2) 附带地传递内存位置提示 hint 。若可能则调用 a.allocate(n, hint) 。若不可能(例如无双参数成员函数 allocate() ),则调用 a.allocate(n)

参数

a - 使用的分配器
n - 要分配存储的对象数
hint - 指向临近内存位置的指针

返回值

调用 a.allocate(n) 所返回的指针。

参阅

分配未初始化的存储
(std::allocator<T> 的公开成员函数)