次の方法で共有


allocator::allocate

少なくとも、指定した数の要素を格納するのに十分な大きさのメモリ ブロックを割り当てます。

pointer allocate(
   size_type _Count, 
   const void* _Hint
);

パラメーター

  • _Count
    十分な記憶領域が割り当てられている要素の数。

  • _Hint
    アロケーター オブジェクトの役立つ const ポインターは前の要求に割り当てられているオブジェクトのアドレスを検索することにより、ストレージに対する要求を満たします。

戻り値

メモリが設定されていない場合は、割り当てられたオブジェクトまたは null へのポインター。

解説

このメンバー関数は、新しい演算子を呼び出すことにより、型 **[種類]**の計算の要素の配列用のストレージを割り当てます (_Count)。これは、割り当てられたオブジェクトへのポインターを返します。ツールヒントの引数は参照の局所性の拡張機能のあるアロケーターを受けて; 有効なオプションは、前に同じアロケーターのオブジェクトによって割り当てられ、まだ割り当てを解放されなかったオブジェクトのアドレスです。ツールヒントを指定せずには、null ポインターの引数を使用してください。

使用例

// allocator_allocate.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
#include <vector>

using namespace std;

int main( ) 
{
   allocator<int> v1Alloc;

   allocator<int>::pointer v1aPtr;

   v1aPtr = v1Alloc.allocate ( 10 );

   int i;
   for ( i = 0 ; i < 10 ; i++ )
   {
      v1aPtr[ i ] = i;
   }

   for ( i = 0 ; i < 10 ; i++ )
   {
      cout << v1aPtr[ i ] << " ";
   }
   cout << endl;

   v1Alloc.deallocate( v1aPtr, 10 );
}
  

必要条件

ヘッダー : <memory>

名前空間: std

参照

関連項目

allocator Class