名前空間
変種
操作

std::allocator_traits::allocate

提供: cppreference.com
 
 
動的メモリ管理
スマートポインタ
(C++11)
(C++11)
(C++11)
(C++17未満)
(C++11)
アロケータ
メモリリソース
未初期化記憶域
(C++17)
ガベージコレクションサポート
その他
(C++20)
(C++11)
(C++11)
C のライブラリ
低水準のメモリ管理
 
 
ヘッダ <memory> で定義
(1)
static pointer allocate( Alloc& a, size_type n );
(C++11以上)
(C++20未満)
[[nodiscard]] static pointer allocate( Alloc& a, size_type n );
(C++20以上)
(2)
static pointer allocate( Alloc& a, size_type n,
                         const_void_pointer hint );
(C++11以上)
(C++20未満)
[[nodiscard]] static pointer allocate( Alloc& a, size_type n,
                                       const_void_pointer hint );
(C++20以上)

n*sizeof(Alloc::value_type) バイトの未初期化記憶域を確保するためにアロケータ a を使用します。

1) a.allocate(n) を呼びます。
2) メモリの局所性のヒント hint を追加で渡します。 可能であれば a.allocate(n, hint) を呼びます。 可能でなければ (例えば2引数の allocate() メンバ関数を持たない場合)、 a.allocate(n) を呼びます。

[編集] 引数

a - 使用するアロケータ
n - 何個のオブジェクトのための記憶域を確保するか
hint - 近くのメモリ位置を指すポインタ

[編集] 戻り値

a.allocate(n) の呼び出しによって返されたポインタ。

[編集] 関連項目

未初期化記憶域を確保します
(std::allocatorのパブリックメンバ関数) [edit]