std::pmr::polymorphic_allocator<T>::new_object
De cppreference.com
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;
}
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 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.
Excepciones
Puede lanzar cualquier excepción lanzada por la llamada a allocate_object o al constructor de U.
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)
|