Namespaces
Variants
Views
Actions

std::uninitialized_construct_using_allocator

From cppreference.com
< cpp‎ | memory
 
 
 
Dynamic memory management
Uninitialized storage
(C++17)
Garbage collection support
Miscellaneous
(C++20)
(C++11)
(C++11)
C Library
Low level memory management
 
Defined in header <memory>
template< class T, class Alloc, class... Args >
constexpr T* uninitialized_construct_using_allocator( T* p, const Alloc& alloc, Args&&... args )
(since C++20)

Creates an object of the given type T by means of uses-allocator construction at the uninitialized memory location indicated by p

Equivalent to

return ::new(static_cast<void*>(p)) T(
    std::make_obj_using_allocator<T>(alloc, std::forward<Args>(args)...)
);

Contents

[edit] Parameters

p - the memory location where the object will be placed.
alloc - the allocator to use.
args - the arguments to pass to T's constructor

[edit] Return value

Pointer to the newly-created object of type T

[edit] Exceptions

May throw any exception thrown by the constructor of T, typically including std::bad_alloc

[edit] Example

[edit] See also

checks if the specified type supports uses-allocator construction
(class template) [edit]
creates an object of the given type by means of uses-allocator construction
(function template) [edit]