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
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
Typ, który reprezentuje klasę allocator obiektu deque. |
|
Typ zapewniający iterator dostępu losowego, który posiada dostęp i możliwość odczytywania elementów w deque jako const. |
|
Typ, który zawiera wskaźnik do elementu w deque jako const.. |
|
Typ, który zawiera odwołanie do elementu w deque do odczytu i innych operacji jako const. |
|
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. |
|
Typ, który zawiera różnicę między dwoma iteratorami swobodnego dostępu odwołującymi się do elementów w tej samej deque. |
|
Typ zapewniający iterator dostępu losowego, który posiada możliwość odczytywania lub modyfikowania dowolnego elementu w deque. |
|
Typ, który zawiera wskaźnik do elementu w deque. |
|
Typ, który zawiera odwołanie do elementu przechowywanego w deque. |
|
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. |
|
Typ, który liczy elementy w deque. |
|
Typ, który reprezentuje typ danych przechowywanych w deque. |
Funkcje członkowskie
Usuwa elementy z deque i kopiuje nową sekwencję elementów do docelowego obiektu deque. |
|
Zwraca odwołanie do elementu w określonej lokalizacji w deque. |
|
Zwraca odwołanie do ostatniego elementu deque. |
|
Zwraca iterator swobodnego dostępu adresujący pierwszy element w deque. |
|
Zwraca stały iterator do pierwszego elementu w deque. |
|
Zwraca const iterator swobodnego dostępu, który wskazuje tylko na koniec deque. |
|
Usuwa wszystkie elementy ciągu deque. |
|
Zwraca const iterator swobodnego dostępu do pierwszego elementu w deque wyświetlanej w odwrotnej kolejności. |
|
Zwraca const iterator swobodnego dostępu do pierwszego elementu w deque wyświetlanej w odwrotnej kolejności. |
|
Wstawia element stworzony w miejscu do deque na określonej pozycji. |
|
Dodaje element stworzony w miejscu na końcu deque. |
|
Dodaje element stworzony w miejscu na początku deque. |
|
Zwraca true jeśli deque zawiera zero elementów i false jeśli zawiera co najmniej jeden element. |
|
Zwraca iterator swobodnego dostępu, który wskazuje tylko na koniec deque. |
|
Usuwa element lub szereg elementów w deque od określonej pozycji. |
|
Zwraca odwołanie do pierwszego elementu w deque. |
|
Zwraca kopię obiektu allocator użytego do skonstruowania deque. |
|
Wstawia element, kilka elementów lub szereg elementów do deque na określonej pozycji. |
|
Zwraca maksymalną możliwą długość deque |
|
Usuwa element z końca deque. |
|
Usuwa element z początku deque. |
|
Dodaje element na koniec deque |
|
Dodaje element na początek deque |
|
Zwraca iterator swobodnego dostępu do pierwszego elementu w odwróconej deque. |
|
Zwraca iterator swobodnego dostępu który wskazuje na element tuż za ostatnim elementem w odwróconej deque. |
|
Określa nowy rozmiar deque. |
|
Odrzuca nadmierną pojemność. |
|
Zwraca liczbę elementów w deque. |
|
Zamienia elementy z dwóch deque |
Operatory
Zwraca odwołanie do elementu deque na określonej pozycji. |
|
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