std::pmr::memory_resource::allocate
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++.
| DR | Применимо к | Поведение, как опубликовано | Корректное поведение |
|---|---|---|---|
| LWG 2843 | ??? | Неподдерживалось чрезмерное выравнивание | Выравнивание должно соблюдаться |
См. также
|
[виртуальный] | выделяет память (виртуальная закрытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/memory_resource/allocate