Espacios de nombres
Variantes
Acciones

std::pmr::polymorphic_allocator<T>::new_object

De cppreference.com
 
 
Gestión de memoria dinámica
Punteros inteligentes
(C++11)
(C++11)
(C++11)
(hasta C++17)
(C++11)
(C++23)
Asignadores de memoria
Recursos de memoria
Almacenamiento no inicializado
Algoritmos de memoria no inicializada
Algoritmos restringidos de memoria no inicializada
Apoyo para recolección de basura
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
Misceláneos
(C++20)
(C++11)
(C++11)
 
 
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

Asigna memoria sin formato alineada del recurso subyacente.
(función miembro pública)[editar]
Asigna memoria sin formato adecuada para un objeto o un array.
(función miembro pública)[editar]
Asigna memoria.
(función miembro pública)[editar]
[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)[editar]
Asigna memoria.
(función miembro pública de std::pmr::memory_resource)[editar]
close