std::allocator_traits<Alloc>::construct
From cppreference.com
< cpp | memory | allocator traits
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Memory management library
(exposition only*)
(C++11)
(C++23)
(C++11)
(C++17)
(C++11)
(C++11)
(C++20)
(C++20)
(C++17)
(C++11)
(C++17)
(C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
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)
(C++11)
(C++11)
(C++17)
(C++20)
(C++17)
(C++11)
(C++11)
(C++11)
(until C++17*)
(C++11)
(C++17)
(C++26)
(C++26)
(C++11)
(C++11)
(C++11)
(C++23)
(C++23)
(C++11)
(C++20)
(C++11)
(C++11)
(C++20)
(C++26)
Defined in header
<memory>
template< class T, class... Args >
static void construct( Alloc& a, T* p, Args&&... args );
(since C++11) static void construct( Alloc& a, T* p, Args&&... args );
(constexpr since C++20)
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)Contents
[edit] Parameters
a
-
allocator to use for construction
p
-
pointer to the uninitialized storage on which a
T
object will be constructed
args...
-
the constructor arguments to pass to a.construct() or to placement-new(until C++20)std::construct_at() (since C++20)
[edit] Return value
(none)
[edit] 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.
[edit] See also
(until C++20)
(public member function of
std::allocator<T>
) [edit]