Freigeben über


get_temporary_buffer

Weist temporären Speicher für eine Elementsequenz zu, die eine bestimmte Anzahl von Elementen nicht überschreitet.

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

Parameter

  • _Count
    Die maximale Anzahl von Elementen angefordert, für die Speicher belegt werden soll.

Rückgabewert

pair, dessen erste Komponente ein Zeiger auf den Speicher ist, der zugeordnet wurden und dessen zweite Komponente gibt die Größe des Puffers, die höchste Anzahl der Elemente angeben, die sie speichern kann.

Hinweise

Die Funktion stellt eine Anforderung für Arbeitsspeicher und diese folgt möglicherweise nicht. Wenn kein Puffer zugeordnet wird, gibt die Funktion ein Paar, mit der zweiten Komponente gleich null und die erste Komponente gleich dem NULL-Zeiger zurück.

Diese Funktion sollte für Arbeitsspeicher nur verwendet werden, der temporär ist.

Beispiel

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

Anforderungen

Header: <memory>

Namespace: std