◐ Shell
clean mode source ↗

std::allocator_traits<Alloc>::construct - cppreference.com

提供: cppreference.com

<tbody> </tbody>

template< class T, class... Args > static void construct( Alloc& a, T* p, Args&&... args );

(C++11以上)

可能であれば、以下を呼ぶことによって、 p の指す確保済みの未初期化記憶域に T 型のオブジェクトを構築します。

a.construct(p, std::forward<Args>(args)...)

上記が可能でなければ (a がメンバ関数 construct() を持たないなど)、以下のように配置 new を呼びます。

::new (static_cast<void*>(p)) T(std::forward<Args>(args)...)

引数

a - 構築のために使用するアロケータ
args... - a.construct() または配置 new に渡すコンストラクタ引数

戻り値

(なし)

ノート

この関数は要素を挿入、コピー、ムーブするときに標準ライブラリのコンテナによって使用されます。

この関数は配置 new への自動フォールバックを提供するため、 C++11 以降、メンバ関数 construct() はオプショナルな Allocator 要件です。

関連項目