std::allocator<T>:: construct
From cppreference.net
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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)
|
|
定義済みヘッダー
<memory>
|
||
|
void
construct
(
pointer p, const_reference val
)
;
|
(1) | (C++11まで) |
|
template
<
class
U,
class
...
Args
>
void construct ( U * p, Args && ... args ) ; |
(2) |
(C++11以降)
(C++17で非推奨) (C++20で削除) |
T
型のオブジェクトを、グローバル配置newを使用して、
p
が指す割り当て済み未初期化ストレージ内に構築します。
1)
呼び出し
::
new
(
(
void
*
)
p
)
T
(
val
)
.
2)
呼び出し
::
new
(
(
void
*
)
p
)
U
(
std::
forward
<
Args
>
(
args
)
...
)
.
目次 |
パラメータ
| p | - | 割り当てられた未初期化ストレージへのポインタ |
| val | - | コピーコンストラクタの引数として使用する値 |
| args... | - | 使用するコンストラクタ引数 |
戻り値
(なし)
欠陥報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| LWG 402 | C++98 | T :: operator new が存在する場合、プログラムは不適格となる可能性がある | グローバルな置換newを使用する |
関連項目
|
[static]
|
確保されたストレージ内でオブジェクトを構築する
(関数テンプレート) |
|
(C++20)
|
指定されたアドレスにオブジェクトを作成する
(関数テンプレート) |
|
確保関数
(関数) |