std::allocator_traits::construct
De cppreference.com
< cpp | memory | allocator traits
Definido en el archivo de encabezado <memory>
|
||
template< class T, class... Args > static void construct( Alloc& a, T* p, Args&&... args ); |
(desde C++11) (hasta C++20) |
|
template< class T, class... Args > static constexpr void construct( Alloc& a, T* p, Args&&... args ); |
(desde C++20) | |
Si es posible, construye un objeto de tipo T
en el almacenamiento no inicializado asignado al que apunta p
, llamando a
a.construct(p, std::forward<Args>(args)...)
Si lo anterior no es posible (por ejemplo, Alloc
no tiene la función miembro construct()
), entonces llama a
::new (static_cast<void*>(p)) T(std::forward<Args>(args)...) |
(hasta C++20) |
std::construct_at(p, std::forward<Args>(args)...) |
(desde C++20) |
Contenido |
[editar] Parámetros
a | - | Asignador a usar para la construcción. |
p | - | Puntero al almacenamiento no inicializado en el que se construirá un objeto T .
|
args... | - | Los argumentos de constructor a pasar a a.construct() o a new de ubicación (hasta C++20)std::construct_at() (desde C++20).
|
[editar] Valor de retorno
(Ninguno)
[editar] Notas
Los contenedores de la biblioteca estándar utilizan esta función al insertar, copiar o mover elementos.
Debido a que esta función proporciona el retorno automático a new
de ubicación, la función miembro construct()
es un requerimiento Allocator opcional desde C++11.
[editar] Véase también
Funciones de asignación. (función) | |
(hasta C++20) |
Construye un objeto en almacenamiento asignado. (función miembro pública de std::allocator )
|
(C++20) |
Crea un objeto en una dirección dada (plantilla de función) |