std::allocator::construct
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header  <memory> | ||
| void construct( pointer p, const_reference val ); | (1) | (until C++11) | 
| template< class U, class... Args > void construct( U* p, Args&&... args ); | (2) | (since C++11) | 
Constructs an object of type T in allocated uninitialized storage pointed to by p, using placement-new
1) Calls new((void *)p) T(val)
2) Calls ::new((void *)p) U(std::forward<Args>(args)...)
[edit] Parameters
| p | - | pointer to allocated uninitialized storage | 
| val | - | the value to use as the copy constructor argument | 
| args... | - | the constructor arguments to use | 
[edit] Return value
(none)
[edit] See also
| [static] | constructs an object in the allocated storage (function template) | 
| allocation functions (function) | 


