C++ 参考手册

位置:首页 > C++ 参考手册 >动态内存管理 >std::allocator_traits > std::allocator_traits<Alloc>::allocate

定义于头文件 <memory>
(1)
static pointer allocate( Alloc& a, size_type n );
(C++11 起)
(C++20 前)
[[nodiscard]] static constexpr 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 constexpr 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> 的公开成员函数)