std::pmr::polymorphic_allocator<T>::allocate
De cppreference.com
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
T* allocate( std::size_t n ); |
(desde C++17) (hasta C++20) |
|
[[nodiscard]] T* allocate( std::size_t n ); |
(desde C++20) | |
Asigna almacenamiento para n objetos de tipo T usando el recurso de memoria subyacente. Equivalente a return static_cast<T*>(resource()->allocate(n * sizeof(T), alignof(T)));.
Parámetros
| n | - | El número de objetos para los que asignar almacenamiento. |
Valor de retorno
Un puntero al almacenamiento asignado.
Excepciones
Lanza std::bad_array_new_length si n > std::numeric_limits<std::size_t>::max() / sizeof(T); también puede lanzar cualquier excepción lanzada por la llamada a resource()->allocate.
Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
| ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 3038 | C++17 | allocate podría asignar almacenamiento del tamaño equivocado.
|
En su lugar lanza length_error.
|
| LWG 3237 | C++17 | La excepción lanzada por allocate era inconsistente con std::allocator::allocate.
|
Se hizo consistente. |
Véase también
(C++20) |
Asigna memoria sin formato alineada del recurso subyacente. (función miembro pública) |
(C++20) |
Asigna memoria sin formato adecuada para un objeto o un array. (función miembro pública) |
(C++20) |
Asigna memoria y construye un objeto. (función miembro pública) |
[estático] |
asigna almacenamiento sin inicializar utilizando el asignador Original: allocates uninitialized storage using the allocator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (función miembro estática pública de std::allocator_traits)
|
| Asigna memoria. (función miembro pública de std::pmr::memory_resource)
|