std::allocator<T>::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) (deprecated in C++17) (removed in C++20) |
Constructs an object of type T in allocated uninitialized storage pointed to by p, using global placement-new.
1) Calls
::new((void*)p) T(val).2) Calls
::new((void*)p) U(std::forward<Args>(args)...).Parameters
| p | - | pointer to allocated uninitialized storage |
| val | - | the value to use as the copy constructor argument |
| args... | - | the constructor arguments to use |
Return value
(none)
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 402 | C++98 | if T::operator new exists, the program might be ill-formed
|
uses global replacement-new instead |
