table of contents
std::allocator_traits::construct(3) | C++ Standard Libary | std::allocator_traits::construct(3) |
NAME¶
std::allocator_traits::construct - std::allocator_traits::construct
Synopsis¶
Defined in header <memory>
template< class T, class... Args > (since C++11)
static void construct( Alloc& a, T* p, Args&&... args );
(until C++20)
template< class T, class... Args > (since C++20)
static constexpr void construct( Alloc& a, T* p, Args&&... args
);
If possible, constructs an object of type T in allocated uninitialized
storage
pointed to by p, by calling a.construct(p,
std::forward<Args>(args)...).
If the above is not possible (e.g. Alloc does not have the member function
construct()), then calls
::new (static_cast<void*>(p)) T(std::forward<Args>(args)...)
(until C++20)
std::construct_at(p, std::forward<Args>(args)...) (since
C++20)
Parameters¶
a - allocator to use for construction
p - pointer to the uninitialized storage on which a T object will be
constructed
the constructor arguments to pass to a.construct() or to
placement-new
args... - (until C++20)
std::construct_at()
(since C++20)
Return value¶
(none)
Notes¶
This function is used by the standard library containers when
inserting, copying, or
moving elements.
Because this function provides the automatic fall back to placement new, the
member
function construct() is an optional Allocator requirement since C++11.
See also¶
operator new allocation functions
operator new[] (function)
construct constructs an object in allocated storage
(until C++20) (public member function of
std::allocator<T>)
construct_at creates an object at a given address
(C++20) (function template)
2024.06.10 | http://cppreference.com |