std::pmr::polymorphic_allocator<T>::allocate_bytes

来自cppreference.com
 
 
动态内存管理
智能指针
(C++11)
(C++11)
(C++11)
(C++17 前)
(C++11)
(C++23)
分配器
内存资源
未初始化存储
未初始化内存算法
受约束的未初始化内存算法
垃圾收集支持
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
杂项
(C++20)
(C++11)
(C++11)
C 库
低层内存管理
 
 
[[nodiscard]] void* allocate_bytes( std::size_t nbytes,
                                    std::size_t alignment = alignof(std::max_align_t) );
(C++20 起)

分配按指定 alignment 对齐的 nbytes 字节存储。等价于 return resource()->allocate(nbytes, alignment);

参数

nbytes - 要分配的字节数
alignment - 使用的对齐

返回

指向分配的存储的指针。

注解

引入此函数是为了用于全特化分配器 std::polymorphic_allocator<> ,但它可能在任何特化中都有用。

返回类型为 void* (而非 std::byte* 之类),以支持通过 static_cast<U*> 转换到任意指针类型 U*

异常

可能抛出任何调用 resource()->allocate 所抛的异常。

参阅

分配适合单个对象或数组的未处理内存
(公开成员函数)
分配并创建对象
(公开成员函数)
分配内存
(公开成员函数)
[静态]
用分配器分配未初始化的存储
(std::allocator_traits<Alloc> 的公开静态成员函数)
分配内存
(std::pmr::memory_resource 的公开成员函数)