# std::pmr::memory_resource::allocate

< cpp‎ | memory‎ | memory resource

void* allocate(std::size_t bytes, std::size_t alignment = alignof(std::max_align_t)); |  | (C++17 起) (C++20 前)
[[nodiscard]] void* allocate(std::size_t bytes, std::size_t alignment = alignof(std::max_align_t)); |  | (C++20 起)

分配至少有 `bytes` 字节的存储。若支持这种对齐，则返回的存储对齐到指定的 `alignment` ，否则对齐到 alignof(std::max_align_t) 。

等价于 return do_allocate(bytes, alignment); 。

### 异常

若不能取得拥有要求的大小和对齐的存储，则抛出异常。

### 参阅

do_allocate [虚] | 分配内存 (虚私有成员函数)