std::pmr::polymorphic_allocator<T>:: allocate
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
polymorphic_allocator::allocate
|
||||
|
(
C++20/26*
)
|
||||
| Non-member functions | ||||
|
(until C++20)
|
|
T
*
allocate
(
std::
size_t
n
)
;
|
(desde C++17) | |
Asigna almacenamiento para
n
objetos de tipo
T
utilizando el recurso de memoria subyacente. Equivalente a
return
static_cast
<
T
*
>
(
resource
(
)
-
>
allocate
(
n
*
sizeof
(
T
)
, alignof
(
T
)
)
)
;
.
Contenidos |
Parámetros
| n | - | el número de objetos para los cuales 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 generada por la llamada a resource ( ) - > allocate .
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 3038 | C++17 |
allocate
podría asignar almacenamiento de tamaño incorrecto
|
lanza
length_error
en su lugar
|
| LWG 3237 | C++17 |
la excepción lanzada por
allocate
era inconsistente con
std::allocator::allocate
|
hecho consistente |
Véase también
|
(C++20)
|
asigna memoria alineada en bruto del recurso subyacente
(función miembro pública) |
|
(C++20)
|
asigna memoria en bruto adecuada para un objeto o un array
(función miembro pública) |
|
(C++20)
|
asigna y construye un objeto
(función miembro pública) |
|
[static]
|
asigna almacenamiento no inicializado usando el asignador
(función miembro estática pública de
std::allocator_traits<Alloc>
)
|
|
asigna memoria
(función miembro pública de
std::pmr::memory_resource
)
|