std::pmr::memory_resource::allocate
Материал из cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
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.
Эквивалентно return do_allocate(bytes, alignment);.
Исключения
Генерирует исключение, если невозможно получить хранилище запрошенного размера и выравнивания.
Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
| Номер | Применён | Поведение в стандарте | Корректное поведение |
|---|---|---|---|
| LWG 2843 | ??? | избыточное выравнивание было разрешено не поддерживать | выравнивание должно соблюдаться |
Смотрите также
[virtual] |
выделяет память (virtual private функция элемент) |