Udostępnij za pośrednictwem


deque — Klasa

Rozmieszcza elementy danego typu w liniowym porządku i podobnie jak wektor, umożliwia szybki swobodny dostęp do dowolnego elementu i wydajne wstawianie i usuwanie z końca kontenera.Jednak w przeciwieństwie do wektora klasa deque obsługuje również wydajne wstawianie i usuwanie z przodu kontenera.

template <
    class Type, 
    class Allocator=allocator<Type> 
>
    class deque

Parametry

  • Type
    Typ danych elementu do przechowywania w klasie deque.

  • Allocator
    Typ reprezentujący przechowywany obiekt alokatora, który hermetyzuje szczegóły dotyczące alokacji i dezalokacji pamięci klasy deque.Ten argument jest opcjonalny, a jego wartość domyślna to allocator<Type>.

Uwagi

Wybór typu kontenera powinien być oparty o typ wyszukiwania i wstawiania wymagany przez aplikację.Wektory powinny być preferowanym kontenerem do zarządzania sekwencją gdy ważny jest łatwy dostęp do dowolnego elementu a wstawianie i usuwanie elementów jest wymagane na końcu sekwencji.Wydajność kontenera List jest lepsza gdy efektywne wstawienie i usuwanie elementów (w stałym czasie) w dowolnym miejscu w sekwencji jest ważne.Takie operacje w środku sekwencji wymagają skopiowania i przydzielenia elementów proporcjonalnie do liczby elementów w sekwencji (liniowy czas).

Ponowny przydział w klasie Deque występuje w przypadku gdy funkcja musi wstawić lub usunąć elementy w sekwencji:

  • Jeśli element zostaje wstawiony do pustej sekwencji, lub jeśli usuwany element pozostawi pustą sekwencję, Iteratory wcześniej zwracane przez begin i end stają się nieprawidłowe.

  • Jeśli element zostaje wstawiony na pierwszym miejscu w klasie deque, wtedy wszystkie iteratory, ale nie odwołania, oznaczające istniejące elementy stają się nieprawidłowe.

  • Jeśli element zostaje wstawiony na ostatnim miejscu w klasie deque, wtedy end i wszystkie iteratory, ale nie odwołania, oznaczające istniejące elementy stają się nieprawidłowe.

  • Jeśli element jest usuwany z przodu klasy deque, tylko ten iterator i odwołania do usuniętego elementu stają się nieprawidłowe.

  • Jeśli ostatni element jest usuwany z końca klasy deque, tylko iterator do ostatniego elementu i odwołania do usuwanego elementu stają się nieprawidłowe.

W przeciwnym wypadku wstawianie lub usuwanie elementu unieważnia wszystkie Iteratory i odwołania.

Konstruktorów

deque

Tworzy deque. Zostało dostarczonych kilka konstruktorów do zdefiniowania zawartości nowego obiektu deque na kilka sposobów: pusty; wypełniony określoną liczbą pustych elementów; zawartość przeniesiona lub skopiowana z innego obiektu deque; zawartość kopiowana lub przenoszona za pomocą iteratora; i jeden element kopiowany do obiektu deque_Count razy.Niektóre z konstruktorów pozwalają na użycie niestandardowego allocator w celu stworzenia elementów.

Typedefs

allocator_type

Typ, który reprezentuje klasę allocator obiektu deque.

const_iterator

Typ zapewniający iterator dostępu losowego, który posiada dostęp i możliwość odczytywania elementów w deque jako const.

const_pointer

Typ, który zawiera wskaźnik do elementu w deque jako const..

const_reference

Typ, który zawiera odwołanie do elementu w deque do odczytu i innych operacji jako const.

const_reverse_iterator

Typ zapewniający iterator dostępu losowego, który posiada dostęp i możliwość odczytywania elementów w deque jako const.Deque jest wyświetlana w odwrotnej kolejności.Aby uzyskać więcej informacji, zobacz reverse_iterator — Klasa.

difference_type

Typ, który zawiera różnicę między dwoma iteratorami swobodnego dostępu odwołującymi się do elementów w tej samej deque.

iterator

Typ zapewniający iterator dostępu losowego, który posiada możliwość odczytywania lub modyfikowania dowolnego elementu w deque.

wskaźnik

Typ, który zawiera wskaźnik do elementu w deque.

odwołanie

Typ, który zawiera odwołanie do elementu przechowywanego w deque.

reverse_iterator

Typ zapewniający iterator dostępu losowego, który posiada możliwość odczytywania lub modyfikowania elementu w deque.Deque jest wyświetlana w odwrotnej kolejności.

size_type

Typ, który liczy elementy w deque.

value_type

Typ, który reprezentuje typ danych przechowywanych w deque.

Funkcje członkowskie

przypisz

Usuwa elementy z deque i kopiuje nową sekwencję elementów do docelowego obiektu deque.

at

Zwraca odwołanie do elementu w określonej lokalizacji w deque.

wstecz

Zwraca odwołanie do ostatniego elementu deque.

rozpocznij

Zwraca iterator swobodnego dostępu adresujący pierwszy element w deque.

deque::cbegin

Zwraca stały iterator do pierwszego elementu w deque.

deque::cend

Zwraca const iterator swobodnego dostępu, który wskazuje tylko na koniec deque.

wyczyść

Usuwa wszystkie elementy ciągu deque.

deque::crbegin

Zwraca const iterator swobodnego dostępu do pierwszego elementu w deque wyświetlanej w odwrotnej kolejności.

deque::crend

Zwraca const iterator swobodnego dostępu do pierwszego elementu w deque wyświetlanej w odwrotnej kolejności.

deque::emplace

Wstawia element stworzony w miejscu do deque na określonej pozycji.

deque::emplace_back

Dodaje element stworzony w miejscu na końcu deque.

deque::emplace_front

Dodaje element stworzony w miejscu na początku deque.

pusty

Zwraca true jeśli deque zawiera zero elementów i false jeśli zawiera co najmniej jeden element.

end

Zwraca iterator swobodnego dostępu, który wskazuje tylko na koniec deque.

wymazywanie

Usuwa element lub szereg elementów w deque od określonej pozycji.

przód

Zwraca odwołanie do pierwszego elementu w deque.

get_allocator

Zwraca kopię obiektu allocator użytego do skonstruowania deque.

wstaw

Wstawia element, kilka elementów lub szereg elementów do deque na określonej pozycji.

maksymalny rozmiar

Zwraca maksymalną możliwą długość deque

pop_back

Usuwa element z końca deque.

pop_front

Usuwa element z początku deque.

push_back

Dodaje element na koniec deque

push_front

Dodaje element na początek deque

rbegin

Zwraca iterator swobodnego dostępu do pierwszego elementu w odwróconej deque.

rend

Zwraca iterator swobodnego dostępu który wskazuje na element tuż za ostatnim elementem w odwróconej deque.

Zmienianie rozmiaru

Określa nowy rozmiar deque.

deque::shrink_to_fit

Odrzuca nadmierną pojemność.

rozmiar

Zwraca liczbę elementów w deque.

swap

Zamienia elementy z dwóch deque

Operatory

operator[]

Zwraca odwołanie do elementu deque na określonej pozycji.

deque::operator=

Zastępuje elementy deque kopią innej deque.

Wymagania

Nagłówek: <deque>

Zobacz też

Informacje

Bezpieczeństwo wątku w standardowej bibliotece C++

Standardowa biblioteka szablonów

Inne zasoby

<deque> Członkowie

deque członkowie klasy