Partilhar via


allocator::allocate

Atribui um bloco de memória grande o suficiente para armazenar pelo menos um número especificado de elementos.

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

Parâmetros

  • _Count
    O número de elementos que suficiente para o armazenamento deve ser atribuído.

  • _Hint
    Um ponteiro de const que pode ajudar ao objeto do alocador atender à solicitação para o armazenamento localizando o endereço de um objeto atribuído antes da solicitação.

Valor de retorno

Um ponteiro para o objeto ou nulo se atribuído a memória não foi atribuído.

Comentários

A função de membro aloca armazenamento para uma matriz de elementos de contagem de tipo Tipo, chamando o novo operador (_Count). Retorna um ponteiro para o objeto atribuído. O argumento da dica ajuda alguns alocadores em aprimorar a localidade de referência; uma opção válida é o endereço de uma anterior do objeto atribuída pelo mesmo objeto do alocador e desalocadas ainda não. Para não forneça nenhum dica, use um argumento do ponteiro nulo em vez.

Exemplo

// 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 );
}
  

Requisitos

Cabeçalho: <memória>

Namespace: std

Consulte também

Referência

Classe allocator