Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

get_temporary_buffer

 

Asigna almacenamiento temporal para una secuencia de elementos que no supere un número especificado de elementos.


   template<class Type>
pair<Type *, ptrdiff_t>
   get_temporary_buffer(
      ptrdiff_t _Count
   );

_Count

El número máximo de elementos solicitados para qué memoria debe ser asignada.

pair cuyo primer componente es un puntero a la memoria asignados, y cuyo segundo componente proporciona el tamaño del búfer, que indica el mayor número posible de elementos que podrían almacenar.

La función permite una solicitud de memoria y puede no realizarse correctamente.Si no se asigna ningún búfer, la función devuelve un par, con el segundo componente igual a cero y el primer componente igual al puntero NULL.

Esta función solo se debería usar para memoria que es temporal.

// memory_get_temp_buf.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>

using namespace std;

int main( )
{
   // Create an array of ints
   int intArray [ ] = { 10, 20, 30, 40, 100, 200, 300, 1000, 2000 };
   int count = sizeof ( intArray ) / sizeof ( int );
   cout << "The number of integers in the array is: " 
      << count << "." << endl;

   pair<int *, ptrdiff_t> resultPair;
   resultPair = get_temporary_buffer<int>( count );

   cout << "The number of elements that the allocated memory\n"
        << "could store is given by: resultPair.second = " 
        << resultPair.second << "." << endl;
}
El número de enteros en la matriz es: 9.
El número de elementos que la memoria asignada
podría almacenar se proporciona por: resultPair.second = 9.

Requisitos

Encabezado: <memory>

Espacio de nombres: std

Mostrar: