std::allocator::construct - cppreference.com (original) (raw)

Defined in header
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)...).

[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] 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

[edit] See also