std::pmr::memory_resource:: do_allocate
From cppreference.net
<
cpp
|
memory
|
memory resource
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::pmr::memory_resource
| Public member functions | ||||
| Private member functions | ||||
|
memory_resource::do_allocate
|
||||
| Non-member functions | ||||
|
(until C++20)
|
|
virtual
void
*
do_allocate
(
std::
size_t
bytes,
std::
size_t
alignment
)
=
0
;
|
(начиная с C++17) | |
Выделяет память размером не менее bytes байт, выровненную по указанному alignment .
alignment должен быть степенью двойки.
Исключения
Выбрасывает исключение, если запрошенный размер и выравнивание не могут быть получены.
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 2843 | C++17 | handling of unsupported alignment contradictory | throws an exception |
| DR | Применяется к | Поведение в опубликованной версии | Корректное поведение |
|---|---|---|---|
| LWG 2843 | C++17 | обработка неподдерживаемого выравнивания противоречива | генерирует исключение |
Смотрите также
|
выделяет память
(публичная функция-член) |