Espacios de nombres
Variantes
Acciones

std::allocator_traits::construct

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)
 
 
Definido en el archivo de encabezado <memory>
template<class T, class... Args>
staticvoid construct( Alloc& a, T* p, Args&&... args);
(desde C++11)
(hasta C++20)
template<class T, class... Args>
staticconstexprvoid 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)[editar]
(hasta C++20)
Construye un objeto en almacenamiento asignado.
(función miembro pública de std::allocator)[editar]
Crea un objeto en una dirección dada
(plantilla de función)[editar]
close