allocator::allocate
Asigna un bloque de memoria suficientemente grande para almacenar por lo menos un número especificado de elementos.
pointer allocate(
size_type _Count,
const void* _Hint
);
Parámetros
_Count
El número de elementos para los cuales el suficiente almacenamiento debe ser asignado._Hint
Un puntero const que puede ayudar al objeto de asignador cumple la solicitud para el almacenamiento buscar la dirección de un objeto asignado antes de la solicitud.
Valor devuelto
Un puntero al objeto o null asignado si la memoria no se asignó.
Comentarios
La función miembro asigna el almacenamiento para una matriz de elementos de recuento de tipoescrito, llamando al operador new (_Count).Devuelve un puntero al objeto asignado.El argumento de sugerencias ayuda algunos asignadores en la mejora del grado de emplazamiento de referencia; una opción válida es la dirección de un anterior del objeto asignado por el mismo objeto de asignador y aún no desasignado.Para no proporcionar ninguna sugerencia, utilice un argumento de puntero NULL en su lugar.
Ejemplo
// 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
encabezado: <memoria>
espacio de nombres: std