Namespaces
Variants

std::allocator_traits<Alloc>:: construct

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
Definido en el encabezado <memory>
template < class T, class ... Args >
static void construct ( Alloc & a, T * p, Args && ... args ) ;
(desde C++11)
(constexpr desde C++20)

Si es posible, construye un objeto de tipo T en el almacenamiento no inicializado asignado apuntado por 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

:: new ( static_cast < void * > ( p ) ) T ( std:: forward < Args > ( args ) ... )

(hasta C++20)

std:: construct_at ( p, std:: forward < Args > ( args ) ... )

(desde C++20)

Contenidos

Parámetros

a - asignador a utilizar para la construcción
p - puntero al almacenamiento no inicializado sobre el cual se construirá un objeto T
args... - los argumentos del constructor a pasar a a. construct ( ) o a placement-new (hasta C++20) std::construct_at() (desde C++20)

Valor de retorno

(ninguno)

Notas

Esta función es utilizada por los contenedores de la biblioteca estándar al insertar, copiar o mover elementos.

Debido a que esta función proporciona la alternativa automática a placement new, la función miembro construct() es un requisito opcional del Allocator desde C++11.

Véase también

funciones de asignación
(función)
(until C++20)
construye un objeto en almacenamiento asignado
(función miembro pública de std::allocator<T> )
crea un objeto en una dirección dada
(plantilla de función)