Namespaces
Variants

std::allocator<T>:: construct

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
定義済みヘッダー <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]
確保されたストレージ内でオブジェクトを構築する
(関数テンプレート)
指定されたアドレスにオブジェクトを作成する
(関数テンプレート)
確保関数
(関数)