Compartir a través de


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

Vea también

Referencia

allocator Class