std::allocator<T>:: construct
From cppreference.com
C++
Dynamic memory management
|
|
std::allocator
Member functions | ||||
(until C++20)
|
||||
(C++23)
|
||||
(until C++20)
|
||||
allocator::construct
(until C++20)
|
||||
(until C++20)
|
||||
Non-member functions | ||||
(until C++20)
|
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 |
See also
[static]
|
constructs an object in the allocated storage
(function template) |
(C++20)
|
creates an object at a given address
(function template) |
allocation functions
(function) |
Retrieved from "
https://en.cppreference.com/mwiki/index.php?title=cpp/memory/allocator/construct&oldid=147546
"