table of contents
std::allocator::construct(3) | C++ Standard Libary | std::allocator::construct(3) |
NAME¶
std::allocator::construct - std::allocator::construct
Synopsis¶
Defined in header <memory>
void construct( pointer p, const_reference val ); (1) (until
C++11)
template< class U, class... Args > (since C++11)
void construct( U* p, Args&&... args ); (2) (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 uses global replacement-new
program might be ill-formed instead
See also¶
construct constructs an object in the allocated storage
[static] (function template)
construct_at creates an object at a given address
(C++20) (function template)
operator new allocation functions
operator new[] (function)
2024.06.10 | http://cppreference.com |