std::allocator<T>::construct
template< class U, class... Args >
void construct( U* p, Args&&... args );
void construct( pointer p, const_reference val );
Constructs an object of type T
in allocated uninitialized storage pointed to by p
, using global placement-new.
- Calls
::new((void*)p) T(val)
. - 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 |