std::uninitialized_construct_using_allocator - cppreference.com

C++ | Compiler support | Freestanding and hosted | Language | Standard library | Standard library headers | Named requirements | Feature test macros | Language support library | Concepts library | Diagnostics library | Memory management library | Metaprogramming library | Containers library | Iterators library | Ranges library | Algorithms library | Strings library | Text processing library | Numerics library | Date and time library | Input/output library | Filesystem library | Concurrency support library | Execution control library | Technical specifications | Symbols index | [edit]

From cppreference.com

template<classT,classAlloc,class...Args>constexprT*uninitialized_construct_using_allocator(T*p,constAlloc&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

returnstd::apply([&]<class...Xs>(Xs&&...xs){returnstd::construct_at(p,std::forward<Xs>(xs)...);},std::uses_allocator_construction_args<T>(alloc,std::forward<Args>(args)...));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 Return value

Pointer to the newly-created object of type T.

Exceptions

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

std::bad_alloc

.

Example

See also