|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <memory> | ||
template<class T,class...Args> staticvoid construct( Alloc& a, T* p, Args&&...args); | (since C++11) (constexpr since C++20) | |
If possible, constructs an object of typeT in allocated uninitialized storage pointed to byp, by callinga.construct(p,std::forward<Args>(args)...).
If the above is not possible (e.g.Alloc does not have the member functionconstruct()), 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 |
| a | - | allocator to use for construction |
| p | - | pointer to the uninitialized storage on which aT object will be constructed |
| args... | - | the constructor arguments to pass toa.construct() or toplacement-new(until C++20)std::construct_at()(since C++20) |
(none)
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 functionconstruct() is an optionalAllocator requirement since C++11.
| allocation functions (function)[edit] | |
(until C++20) | constructs an object in allocated storage (public member function of std::allocator<T>)[edit] |
(C++20) | creates an object at a given address (function template)[edit] |