allocator::allocate
Выделяет блок памяти достаточно большой для хранения хотя бы минимальное указанное число элементов.
pointer allocate(
size_type _Count,
const void* _Hint
);
Параметры
_Count
Число элементов, для которых достаточно хранилище быть выбран._Hint
Указатель const, который может помочь объект выделения выполняет запрос для хранения путем нахождения адрес выделенного объекта до запроса.
Возвращаемое значение
Указатель на выделенным объектом или значение null, если память не была выбрана.
Заметки
Функция-член выбирает хранилище для массива элементов типа count *** тип *** вызов оператора new (_Count).Он возвращает указатель к выделенному объекту.Аргумент подсказки помогает некоторым allocators в повышении локальность ссылки; допустимый вариант адрес еще не освобожден объекта ранее выбранного механизма распределения и тем же объектом.Чтобы не указывать никаких подсказку, используйте аргумент нулевого указателя.
Пример
// 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 пространство имен: