Sdílet prostřednictvím


deque – třída

Uspořádává prvky daného typu do lineárního uspořádání a stejně jako vektor nabízí rychlý náhodný přístup ke kterémukoli prvku a také efektivní vložení a odebírání na konci kontejneru.Nicméně na rozdíl od vektoru podporuje třída deque také efektivní vkládání a odebírání na konci kontejneru.

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

Parametry

  • Type
    Datový typ, který bude uložen v objektu deque.

  • Allocator
    Typ, který představuje uložený objekt alokátoru, který zapouzdřuje informace o přidělování a navracení zpět paměti objektu deque.Tento argument je nepovinný a výchozí hodnotou je allocator<Type>.

Poznámky

Volba typu kontejneru by měla obecně vycházet z typu vyhledávání a vkládání vyžadovaného aplikací.Jako kontejnery pro správu sekvencí, kdy není náhodný přístup k libovolnému prvku obvykle využíván a vkládání a odebírání prvků je požadováno pouze na konci sekvence, by měly být upřednostňovány vektory.Výkon kontejneru seznam je vynikající, když není efektivní vkládání a odebírání (v konstantním čase) v libovolném místě v sekvenci obvykle vyžadováno.Tyto operace uprostřed sekvence vyžadují kopírování prvků a přiřazování úměrné počtu prvků v sekvenci (lineární čas).

K přerozdělení objektu deque dochází, když členská funkce musí vložit nebo smazat prvky sekvence:

  • Pokud je prvek vložen do prázdné sekvence, nebo pokud byl prvek pro vyprázdnění sekvence vymazán, pak se iterátory dříve vracené pomocí begin a end zneplatní.

  • Pokud je prvek vložen na první pozici objektu deque, pak se zneplatní všechny iterátory, ale ne odkazy, které určují existující prvky.

  • Pokud je prvek vložen na konec objektu deque, pak se zneplatní end a všechny iterátory, ale ne odkazy, které určují existující prvky.

  • Pokud je vymazán prvek na začátku objektu deque, pak se zneplatní pouze iterátor a odkazy na tento smazaný prvek.

  • Pokud je vymazán prvek na konci objektu deque, pak se zneplatní pouze iterátor na poslední prvek a odkazy na tento smazaný prvek.

V ostatních případech vložení nebo smazání prvku zneplatní všechny iterátory i reference.

Konstruktory

deque

Vytvoří objekt deque. Některé konstruktory jsou k dispozici pro nastavení obsahu nového objektu deque různými způsoby: vytvořením s prázdným obsahem, načtením s určeným počtem prázdných prvků, přesunutím nebo zkopírováním obsahu z jiného objektu deque, zkopírováním nebo přesunutím pomocí iterátoru, nebo vložením jednoho prvku do objektu deque_Count krát.Některé konstruktory umožňují pro vytvoření prvků použití vlastního objektu allocator.

Typedefs

allocator_type

Typ, který představuje třídu allocator pro objekt deque.

const_iterator

Typ, který poskytuje iterátor náhodného přístupu, který může zobrazovat a číst prvky v objektu deque jako const

const_pointer

Typ, který poskytuje ukazatel na prvek v objektu deque jako const.

const_reference

Typ, který poskytuje odkaz na prvek v objektu deque pro čtení a další operace jako const.

const_reverse_iterator

Typ, který poskytuje iterátor náhodného přístupu, který může zobrazovat a číst prvky v objektu deque jako const.Obsah objektu deque se zobrazí pozpátku.Další informace naleznete v tématu reverse_iterator – třída

difference_type

Typ, který poskytuje rozdíl mezi dvěma iterátory náhodného přístupu odkazujícími na prvky ve stejném objektu deque.

iterátor

Typ, který poskytuje iterátor náhodného přístupu, který může číst nebo upravovat libovolný prvek v objektu deque.

ukazatel

Typ, který poskytuje ukazatel na prvek v objektu deque.

odkaz

Typ, který poskytuje odkaz na prvek uložený v objektu deque.

reverse_iterator

Typ, který poskytuje iterátor náhodného přístupu, který může číst nebo upravovat prvek v objektu deque.Obsah objektu deque se zobrazí v opačném pořadí.

size_type

Typ, který představuje počet prvků v objektu deque.

value_type

Typ, který představuje datový typ uložený v objektu deque.

Členské funkce

přiřadit

Odstraní prvky z objektu deque a zkopíruje nové pořadí prvků do cílového objektu deque.

na

Vrátí odkaz na prvek na zadaném umístění v objektu deque.

zpět

Vrátí odkaz na poslední prvek objektu deque.

begin

Vrátí iterátor náhodného přístupu adresující první prvek v objektu deque.

deque::cbegin

Vrátí iterátor typu const na první prvek v objektu deque.

deque::cend

Vrátí iterátor náhodného přístupu typu const, který ukazuje za konec objektu deque.

vymazat

Vymaže všechny prvky objektu deque.

deque::crbegin

Vrátí iterátor náhodného přístupu typu const na první prvek v objektu deque zobrazeném v obráceném pořadí.

deque::crend

Vrátí iterátor náhodného přístupu typu const na první prvek v objektu deque zobrazeném v obráceném pořadí.

deque::emplace

Vrátí prvek vyrobený na místě do objektu deque na určenou pozici.

deque::emplace_back

Přidá prvek vyrobený na místě na konec objektu deque.

deque::emplace_front

Přidá prvek vyrobený na místě na začátek objektu deque.

prázdné

Vrátí hodnotu true, pokud objekt deque neobsahuje žádný prvek a hodnotu false, pokud obsahuje jeden nebo více elementů.

end

Vrátí iterátor pro náhodný přístup, který ukazuje přesně za konec objektu deque.

smazat

Odstraní prvek nebo rozsah elementů v objektu deque ze zadaných pozic.

přední

Vrátí odkaz na první prvek v objektu deque.

get_allocator

Vrátí kopii objektu allocator, který je použit pro vytvoření objektu deque.

insert

Vloží prvek, několik prvků nebo rozsahu prvků do objektu deque na určené pozici.

max_size

Vrátí maximální možnou délku objektu deque.

pop_back

Smaže prvek na konci objektu deque.

pop_front

Smaže prvek na začátku objektu deque.

push_back

Přidá prvky na konec objektu deque.

push_front

Přidá prvky na začátek objektu deque.

rbegin

Vrátí iterátor náhodného přístupu k prvnímu prvku v reverzním uspořádání objektu deque.

rend

Vrátí iterátor náhodného přístupu, který ukazuje za poslední prvek v reverzním uspořádání objektu deque.

změnit velikost

Určuje novou velikost objektu deque.

deque::shrink_to_fit

Odstraní přebytečnou kapacitu.

velikost

Vrátí počet prvků v objektu deque.

zaměnit

Vymění prvky dvou objektů deque.

Operátory

operátor []

Vrátí odkaz na prvek deque na určené pozici.

deque::operator=

Nahradí prvky objektů deque kopií jiného objektu deque.

Požadavky

Hlavička: <deque>

Viz také

Referenční dokumentace

Bezpečný přístup z více vláken ve standardní knihovně C++

Standardní knihovna šablon

Další zdroje

<deque> Členové

Členové třídy deque