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

< cpp‎ | memory‎ | polymorphic allocator

[[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 所抛的异常。

### 参阅

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