Condividi tramite


get_temporary_buffer

Alloca uno spazio di archiviazione temporaneo per una sequenza di elementi che non supera un numero specificato di elementi.

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

Parametri

  • _Count
    Numero massimo di elementi richiesta per il quale la memoria deve essere allocata.

Valore restituito

pair di cui il primo componente è un puntatore alla memoria è stata allocata e della seconda componente fornisce la dimensione del buffer, che indica il numero massimo di elementi che potrebbero archiviare.

Note

La funzione effettua una richiesta di memoria e potrebbe non riuscire. Se nessun buffer allocata, la funzione restituisce una coppia, con la seconda parte uguale a zero e il primo componente uguale al puntatore NULL.

Questa funzione deve essere utilizzata solo per la memoria che è temporaneo.

Esempio

// 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;
}
  

Requisiti

Header: <memory>

Spazio dei nomi: std