Compartilhar 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 o suficiente para armazenamento deve ser atribuído.

  • _Hint
    Um ponteiro const que pode ajudar ao objeto do distribuidor satisfaz a solicitação para o armazenamento localizar o endereço de um objeto atribuído antes da solicitação.

Valor de retorno

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

Comentários

A função de membro atribui o armazenamento para uma matriz de elementos de contagem de tipo Tipo, chamando o operador novo_Count().Retorna um ponteiro para o objeto atribuído.O argumento de dica ajuda em alguns distribuidores melhorar a localidade de referência; uma opção é válido o endereço de um anterior do objeto atribuído pelo mesmo objeto do distribuidor e desalocado ainda não.Para fornecer nenhum dica, use um argumento nulo do ponteiro em vez de isso.

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: <memory>

namespace: STD

Consulte também

Referência

allocator Class