get_temporary_buffer

为不超过指定元素数量的元素序列分配临时存储。

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

参数

  • _Count
    哪内存请求元素的最大位数将分配。

返回值

为第一个组件是指向内存分配,并且,第二个组件提供缓冲区的大小,元素指示的大可能存储的 pair

备注

函数在对内存,并可能不成功。 如果缓冲区中分配,则该函数返回一对与组件,第二个等于零和第一组件等于 null 指针。

应是瞬态的内存只使用此函数。

示例

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

要求

页眉: <内存>

命名空间: std