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 )
|