std::allocator<T>::construct
De es.cppreference.net
| Definido en el encabezado <memory>
|
||
void construct( pointer p, const_reference val );
|
(1) | (hasta C++11) |
template< class U, class... Args >
void construct( U* p, Args&&... args );
|
(2) | (desde C++11) (obsoleto en C++17) (eliminado en C++20) |
Construye un objeto de tipo T en el almacenamiento no inicializado asignado señalado por p, usando global placement-new.
1) Llama a
::new((void*)p) T(val).2) Llama a
::new((void*)p) U(std::forward<Args>(args)...).Parámetros
| p | - | puntero a almacenamiento no inicializado asignado |
| val | - | el valor a utilizar como argumento del constructor de copia |
| args... | - | los argumentos del constructor a utilizar |
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 402 | C++98 | si T :: operator new existe, el programa podría estar mal formado | utiliza el replacement-new global en su lugar |
Véase también
|
[static]
|
construye un objeto en el almacenamiento asignado
(plantilla de función) |
|
(C++20)
|
crea un objeto en una dirección dada
(plantilla de función) |
|
funciones de asignación
(función) |