std::pmr::polymorphic_allocator<T>:: new_object
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
(
C++20/26*
)
|
||||
|
polymorphic_allocator::new_object
(C++20)
|
||||
| Non-member functions | ||||
|
(until C++20)
|
|
template
<
class
U,
class
...
CtorArgs
>
U * new_object ( CtorArgs && ... ctor_args ) ; |
(desde C++20) | |
Asigna y construye un objeto de tipo
U
.
Dado que
alloc
es un
std::
pmr
::
polymorphic_allocator
<
T
>
:
U* p = alloc.new_object<U>(std::forward<CtorArgs>(ctor_args)...);
es equivalente a
U* p = alloc.allocate_object<U>(); try { alloc.construct(p, std::forward<CtorArgs>(ctor_args)...); } catch (...) { alloc.deallocate_object(p); throw; }
Contenidos |
Parámetros
| ctor_args | - |
los argumentos a reenviar al constructor de
U
|
Valor de retorno
Un puntero al objeto asignado y construido.
Notas
Esta función se introdujo para su uso con el asignador completamente especializado std:: pmr :: polymorphic_allocator <> , pero puede ser útil en cualquier especialización como un atajo para evitar tener que reenlazar desde std:: pmr :: polymorphic_allocator < T > a std:: pmr :: polymorphic_allocator < U > , y tener que llamar allocate , construct , y deallocate individualmente.
Dado que
U
no se deduce, debe proporcionarse como argumento de plantilla al llamar a esta función.
Excepciones
Puede lanzar cualquier excepción lanzada por la llamada a
allocate_object
o el constructor de
U
.
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) |
|
asigna memoria
(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
)
|