名前空間
変種
操作

std::uninitialized_construct_using_allocator

提供: cppreference.com
< cpp‎ | memory
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ(C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
動的メモリ管理
未初期化記憶域
ガベージコレクションサポート
その他
(C++20)
(C++11)
(C++11)
C のライブラリ
低水準のメモリ管理
 
ヘッダ <memory> で定義
template<class T, class Alloc, class... Args>
constexpr T* uninitialized_construct_using_allocator( T* p, const Alloc& alloc, Args&&... args);
(C++20以上)

p の指す未初期化メモリ位置にアロケータ使用構築の手法によって指定された型 T のオブジェクトを作成します。

以下と同等です。

returnstd::apply([&]<class... Xs>(Xs&&...xs){return std::construct_at(p, std::forward<Xs>(xs)...);}, std::uses_allocator_construction_args<T>(alloc, std::forward<Args>(args)...));

目次

[編集]引数

p - オブジェクトが配置されるメモリ位置
alloc - 使用するアロケータ
args - T のコンストラクタに渡す引数

[編集]戻り値

T 型の新たに作成されたオブジェクトを指すポインタ。

[編集]例外

T のコンストラクタによって投げられるあらゆる例外 (一般的には std::bad_alloc を含みます) を投げる可能性があります。

[編集]

[編集]関連項目

指定された型がアロケータ使用構築をサポートしているかどうか調べます
(クラステンプレート)[edit]
アロケータ使用構築の手法によって指定された型のオブジェクトを作成します
(関数テンプレート)[edit]
close