std::pmr::polymorphic_allocator<T>::new_object
De cppreference.com
< cpp | memory | polymorphic allocator
template<class U, class... CtorArgs> [[nodiscard]] U* new_object( CtorArgs&&... ctor_args); | (desde C++20) | |
Asigna y construye un objeto de tipo U
.
Dado que alloc
sea 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;}
Contenido |
[editar]Parámetros
ctor_args | - | Los argumentos a reenviar al constructor de U . |
[editar]Valor de retorno
Un puntero al objeto asignado y construido.
[editar]Notas
Esta función se introdujo para su uso con el asignador totalmente especializado std::pmr::polymorphic_allocator<>, pero puede ser útil en cualquier especialización como un atajo para evitar tener que volver a revincular de std::pmr::polymorphic_allocator<T> a std::pmr::polymorphic_allocator<U>, y tener que llamar a allocate, construct, y deallocate individualmente.
Dado que U
no se deduce, debe proporcionarse como argumento de plantilla al llamar a esta función.
[editar]Excepciones
Puede lanzar cualquier excepción lanzada por la llamada a allocate_object o al constructor de U
.
[editar]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) |
Asigna memoria. (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 ) |