名前空間
変種
操作

std::uninitialized_construct_using_allocator

提供: cppreference.com
< cpp‎ | memory
 
 
 
動的メモリ管理
スマートポインタ
(C++11)
(C++11)
(C++11)
(C++17未満)
(C++11)
アロケータ
uninitialized_construct_using_allocator
(C++20)
メモリリソース
未初期化記憶域
(C++17)
ガベージコレクションサポート
その他
(C++20)
(C++11)
(C++11)
C のライブラリ
低水準のメモリ管理
 
ヘッダ <memory> で定義
template< class T, class Alloc, class... Args >
T* uninitialized_construct_using_allocator( T* p, const Alloc& alloc, Args&&... args )
(C++20以上)

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

以下と同等です。

return ::new(static_cast<void*>(p)) T(
    std::make_obj_using_allocator<T>(alloc, std::forward<Args>(args)...)
);

目次

[編集] 引数

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

[編集] 戻り値

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

[編集] 例外

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

[編集]

[編集] 関連項目

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