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