cpp / latest / memory / allocator / construct.html /

std::allocator<T>::construct

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 placement-new.

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

Parameters

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

Return value

(none).

See also

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/allocator/construct