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