allocator::allocate
Alokuje blok pamięci wystarczająco duży, aby przechowywać co najmniej określoną liczbę elementów.
pointer allocate(
size_type _Count,
const void* _Hint
);
Parametry
_Count
Liczba elementów, dla których ma być przeznaczona wystarczającą ilość miejsca._Hint
Const wskaźnik, który może pomóc obiektu programu przydzielania spełnić żądania dla magazynu poprzez lokalizowanie adresu obiektu przyznane przed żądaniem.
Wartość zwracana
Wskaźnik do przydzielonego obiektu lub null, jeśli nie przydzielono pamięci.
Uwagi
Funkcja Członkowskie przydziela magazynu dla tablicy typu Liczba elementów typu, nowy podmiot wywołującego (_Count).Zwraca wskaźnik do przydzielonego obiektu.Argument Wskazówka pomaga niektóre allocators w poprawianiu miejscowości odniesienia; prawidłowy wybór jest adres wcześniej przydzielone przez tego samego obiektu przydzielania i jeszcze nie dealokowane obiektu.Aby podane nie wskazówki, należy użyć argumentu wskaźnik zerowy.
Przykład
// 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 );
}
Wymagania
Nagłówek: <memory>
Obszar nazw: std