std::allocator_traits<Alloc>:: allocate
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ヘッダーで定義
<memory>
|
||
|
static
pointer allocate
(
Alloc
&
a, size_type n
)
;
|
(1) |
(C++11以降)
(constexpr C++20以降) |
|
static
pointer allocate
(
Alloc
&
a, size_type n, const_void_pointer hint
)
;
|
(2) |
(C++11以降)
(constexpr C++20以降) |
アロケータ a を使用して n * sizeof ( Alloc :: value_type ) バイトの未初期化ストレージを割り当てます。型 Alloc :: value_type [ n ] の配列がストレージ内に作成されますが、その要素は一つも構築されません。
allocate
を持たない場合)、
a.
allocate
(
n
)
を呼び出します。
目次 |
パラメータ
| a | - | 使用するアロケータ |
| n | - | ストレージを割り当てるオブジェクトの数 |
| hint | - | 近傍メモリ位置へのポインタ |
戻り値
a. allocate ( n ) の呼び出しによって返されるポインタ。
注記
Alloc::allocate
は、配列オブジェクトを作成する必要はありませんでしたが、
P0593R6
によって、コア言語仕様の厳密な解釈によれば、
std::vector
やその他の一部のコンテナに対して非デフォルトアロケータを使用することが明確に定義されていませんでした。
allocate
を呼び出した後、要素の構築前には、
Alloc
::
value_type
*
のポインタ演算は割り当てられた配列内で well-defined ですが、要素にアクセスした場合の動作は未定義です。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
初期化されていない記憶域を割り当てる
(
std::allocator<T>
の公開メンバ関数)
|