Namespaces
Variants
Actions

std::allocator<T>::construct

From cppreference.com
< cpp‎ | memory‎ | allocator
 
 
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*)
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)
 
 
Defined in header <memory>
void construct( pointer p, const_reference val );
(1) (until C++11)
template<class U, class... Args>
void construct( U* p, Args&&... args);
(2) (since C++11)
(deprecated in C++17)
(removed in C++20)

Constructs an object of type T in allocated uninitialized storage pointed to by p, using global placement-new.

1) Calls ::new((void*)p) T(val).
2) Calls ::new((void*)p) U(std::forward<Args>(args)...).

Contents

[edit]Parameters

p - pointer to allocated uninitialized storage
val - the value to use as the copy constructor argument
args... - the constructor arguments to use

[edit]Return value

(none)

[edit]Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 402C++98 if T::operator new exists, the program might be ill-formed uses global replacement-new instead

[edit]See also

[static]
constructs an object in the allocated storage
(function template)[edit]
creates an object at a given address
(function template)[edit]
allocation functions
(function)[edit]
close