Defined in header <memory> | ||
---|---|---|
template< class T, class Alloc, class... Args > 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)...) );
p | - | the memory location where the object will be placed. |
alloc | - | the allocator to use. |
args | - | the arguments to pass to T's constructor |
Pointer to the newly-created object of type T
.
May throw any exception thrown by the constructor of T
, typically including std::bad_alloc
.
(C++11) | checks if the specified type supports uses-allocator construction (class template) |
(C++20) | creates an object of the given type by means of uses-allocator construction (function template) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/memory/uninitialized_construct_using_allocator