Поделиться через


allocator::allocate

Выделяет блок памяти достаточно велик для хранения по крайней мере некоторые заданное число элементов.

pointer allocate(
   size_type _Count, 
   const void* _Hint
);

Параметры

  • _Count
    Число элементов, для которых достаточно хранилище, выбранным.

  • _Hint
    Указатель, который поможет константный объект распределителя отвечающую запросу хранилища, поиск адрес выбранного объекта до запроса.

Возвращаемое значение

Указатель на выделенным объект или значение NULL, если память не была выбрана.

Заметки

Функция-член выделяет хранилище для массива элементов числа типа Тип путем вызова, оператор new (_Count). Он возвращает указатель на выбранный объект. Аргумент подсказки помогает некоторым распределителям улучшения в расположение ссылок; допустимый вариант адрес еще не отмененного распределение объекта ранее выбранного тем же объектом распределителя и. Чтобы не указывать какой-либо подсказку, используйте аргумент вместо пустых указателей.

Пример

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

Требования

Заголовок:<memory>

Пространство имен: std

См. также

Ссылки

Класс allocator