Udostępnij za pośrednictwem


allocator Class

Obiekt, który zarządza przydzielaniem zasobów magazynowania i zwalniania dla tablic obiektów typu zawiera opis klasy szablonowej typu.Obiekt klasy programu przydzielania jest obiektem programu przydzielania domyślne określone w konstruktory kilka klas szablonów kontenera w standardowa biblioteka języka C++.

template <class Type> class allocator

Parametry

  • Typ
    Typ obiektu, dla którego jest w trakcie składowania rozdzielone lub cofniętych przydziałów.

Uwagi

Wszystkie kontenery standardowa biblioteka szablonów mają domyślnie jest ustawiony parametr szablonu programu przydzielania.Klasy szablonowej programu przydzielania dostarcza kilku definicje typów, które są raczej dla pieszych.Wydają się prawie nie warto Definiowanie.Ale innej klasy z tych samych elementów członkowskich może wybrać bardziej interesujące rozwiązania alternatywne.Konstruowanie pojemnika o obiekt programu przydzielania takich klasy daje uzyskuje kontrolę nad alokacji i zwalnianie elementów kontrolowane przez tego kontenera.

Na przykład obiekt programu przydzielania może przydzielić pamięć na stercie prywatnych.Może on przydzielić pamięć na stercie daleko, wymagające niestandardowych wskaźniki dostępu do obiektów przydzielonego.To może również określić poprzez definicje typów, którą dostarczają, aby dostęp do elementów przez obiekty akcesora specjalnych, które zarządzać pamięci współużytkowanej lub wykonuje automatyczne wyrzucania elementów bezużytecznych.Stąd klasy, który przydziela zasoby przy użyciu obiektu programu przydzielania powinny używać tych typów do deklarowania wskaźnik i odwoływać się do obiektów, tak jak kontenerów w standardowa biblioteka języka C++.

Gdy użytkownik pochodzić od klasy programu przydzielania, musisz podać ponownie powiązać struct, których _Other typedef odwołuje się do swojej nowo klasa.

W ten sposób program przydzielania określa następujące typy:

Te typus określić formularz, który wskaźniki i referencje musi podjąć dla przydzielonego elementów.(allocator::pointer nie jest niekoniecznie taka sama, jak typu* dla wszystkich obiektów programu przydzielania, nawet jeśli ma to oczywiste definicja klasy programu przydzielania.)

Elementy członkowskie

h8z741y5.collapse_all(pl-pl,VS.110).gifKonstruktory

Program przydzielania

Konstruktory używany do tworzenia allocator obiektów.

h8z741y5.collapse_all(pl-pl,VS.110).gifDefinicje typów

const_pointer

Typ, który zapewni stały wskaźnik do typu obiektu, zarządzane przez program przydzielania.

const_reference

Typ, który zapewnia stałe odniesienie do rodzaj obiektu zarządzanego przez program przydzielania.

difference_type

Podpisane typ integralną, który może stanowić różnicę między wartościami wskaźniki do typu obiektu, zarządzane przez program przydzielania.

wskaźnik

Typ, który zapewni wskaźnik do typu obiektu, zarządzane przez program przydzielania.

Odwołanie

Typ, który zawiera odwołanie do typu obiektu, zarządzane przez program przydzielania.

size_type

Typem całkowitym bez znaku, który może reprezentować długość każdego sekwencji, że obiekt klasy szablonu allocator można przydzielić.

value_type

Typ, który jest zarządzany przez program przydzielania.

h8z741y5.collapse_all(pl-pl,VS.110).gifFunkcje składowe

adres

Znajdzie adres obiektu, którego wartość jest określona.

przydzielić

Alokuje blok pamięci wystarczająco duży, aby przechowywać co najmniej niektóre określoną liczbę elementów.

konstrukcja

Konstrukcje określonego typu obiektu na określony adres, który jest inicjowany z określoną wartością.

Cofnij przydzielanie

Zwalnia określoną liczbę obiektów od początku magazynu w określonym położeniu.

zniszczyć

Wywołania destruktora obiektów bez cofanie przydziału pamięci, przechowywania obiektu.

max_size

Zwraca liczbę elementów tego typu Type który może zostać przydzielone przez obiekt klasy allocator , jeszcze przed rozpoczęciem wolnej pamięci w górę.

Powiąż ponownie

Struktura, która umożliwia program przydzielania dla obiektów określonego typu do przydzielania pamięci masowej dla obiektów innego typu.

h8z741y5.collapse_all(pl-pl,VS.110).gifOperatory

operator =

Przypisuje jedną allocator obiektu do innego allocator obiektu.

Wymagania

Nagłówek: <memory>

Obszar nazw: std

Zobacz też

Informacje

Bezpieczeństwo wątków w standardowa biblioteka języka C++

Inne zasoby

Program przydzielania członków

<memory> Członkowie