deque (STL/CLR)
Třída šablony popisuje objekt, který ovládá různé délky sekvence elementy s náhodným přístupem.Použití kontejneru deque ke správě pořadí prvků, který vypadá jako souvislý blok úložiště, ale které zvětšit nebo zmenšit na obou koncích, aniž by bylo nutné zkopírovat všechny zbývající prvky.Takto lze implementovat efektivní double-ended queue. (Proto název.)
V popisu níže GValue je stejný jako Value Pokud je typ odkazu, v takovém případě je Value^.
template<typename Value>
ref class deque
: public
System::ICloneable,
System::Collections::IEnumerable,
System::Collections::ICollection,
System::Collections::Generic::IEnumerable<GValue>,
System::Collections::Generic::ICollection<GValue>,
System::Collections::Generic::IList<GValue>,
Microsoft::VisualC::StlClr::IDeque<GValue>
{ ..... };
Parametry
GValue
Obecný typ prvek v kontrolovaných sekvenci.Value
Typ prvek v kontrolovaných sekvenci.
Členy
Definice typu |
Popis |
---|---|
Typ konstantního iterátoru řízené sekvence. |
|
Typ konstantního odkazu na prvek. |
|
Typ konstantní zpětného iterátor pro řízené sekvenci. |
|
Typ vzdálenosti se znaménkem mezi dvěma prvky. |
|
Typ obecné rozhraní pro kontejner. |
|
Typ iterátor pro obecné rozhraní pro kontejner. |
|
Typ zpětného iterátor pro obecné rozhraní pro kontejner. |
|
Typ elementu pro obecné rozhraní pro kontejner. |
|
Typ iterátoru řízené sekvence. |
|
Typ odkazu na prvek. |
|
Typ zpětného iterátor pro řízené sekvenci. |
|
Typ vzdálenosti se znaménkem mezi dvěma prvky. |
|
Typ prvku. |
Členská funkce |
Popis |
---|---|
Nahradí všechny prvky. |
|
Přistupuje k prvku na určené pozici. |
|
Přistupuje k poslední prvek. |
|
Označí začátek řízené sekvenci. |
|
Odebere všechny prvky. |
|
Vytvoří objekt kontejneru. |
|
Zkoušky zda jsou žádné prvky obsahují. |
|
Označí konci řízené sekvence. |
|
Odebere prvky v určených polohách. |
|
Přistupuje k první prvek. |
|
Přidá prvky na určené pozici. |
|
Odstraní poslední prvek. |
|
Odebere první prvek. |
|
Přidá nový poslední prvek. |
|
Přidá nový první prvek. |
|
Označí začátek řízené obrácené pořadí. |
|
Označí konci obrácené řízené sekvence. |
|
Změní počet prvků. |
|
Vrátí počet prvků. |
|
Zamění obsah dvou kontejnerů. |
|
Řízené sekvenci se zkopíruje do nového pole. |
Property |
Popis |
---|---|
Přistupuje k poslední prvek. |
|
Přistupuje k první prvek. |
Operátor |
Popis |
---|---|
Určuje, zda dva deque objekty nejsou shodné. |
|
Přistupuje k prvku na určené pozici. |
|
Určuje, zda deque objekt je menší než jiný deque objektu. |
|
Určuje, zda deque objekt je menší než nebo rovno druhé deque objektu. |
|
Nahradí řízené sekvenci. |
|
Určuje, zda deque objekt je rovno druhé deque objektu. |
|
Určuje, zda deque je větší než jiný objekt deque objektu. |
|
Určuje, zda deque objekt je větší než nebo rovno druhé deque objektu. |
Rozhraní
Rozhraní |
Popis |
---|---|
Duplicitní objekt. |
|
Úsek mezi prvky. |
|
Udržujte skupiny prvků. |
|
Úsek přes zadaný prvky. |
|
Udržujte skupiny typových prvků. |
|
Udržujte objednané skupiny typových prvků. |
|
IDeque<hodnoty> |
Udržujte obecný kontejner. |
Poznámky
Objekt přiděluje a uvolňuje úložiště pro řadu ovládá pomocí uloženého pole popisovačů, které určují bloky Value prvky.Pole roste na požádání.Takovým způsobem, že náklady na prepending nebo přidání nového prvku je konstantní a žádné zbývající prvky je narušen, dochází k růstu.Můžete také odebrat prvek na obou koncích konstantní včas a bez narušení zbývající prvky.Deque, tedy vhodný pro podkladové kontejneru pro šablonu třídy queue (STL/CLR) nebo třídu šablony stack (STL/CLR).
A deque objekt podporuje náhodný přístup iterátory, což znamená, že můžete odkazovat na prvek přímo uveden jeho číselnou pozici počítání od nuly pro první prvek (vpředu), k deque::size (STL/CLR)() - 1 pro poslední prvek (vzadu).Také znamená, že deque je vhodný pro podkladové kontejneru pro šablonu třídy priority_queue (STL/CLR).
Deque iterátor uloží popisovač k jeho deque přidružený objekt a posun na prvek, který se jmenuje.U iterátorů lze použít pouze jejich přidružené kontejnerové objekty.Je posun prvek deque not nemusí být stejný jako jeho pozici.Posun nuly má první element vložen, má další prvek připojených bias 1, ale má dalšího prvku prepended bias -1.
Vkládání a mazání prvků na obou koncích se not změnit hodnotu prvku uloženy v libovolné platné bias.Vkládání a mazání vnitřku prvku, ale can změňte hodnotu prvku uloženy na daném bias, takže můžete také změnit hodnoty určené iterátoru. (Kontejner může být nutné kopírovat prvky nahoru nebo dolů k vytvoření otvoru před insert nebo výplně otvoru po mazání). Nicméně deque iterátor zůstává v platnosti tak dlouho, dokud jeho posunu určuje platný prvek.Kromě toho zůstává platný iterátor dereferencable – slouží k přístupu nebo změnit hodnotu prvku jmenuje--tak dlouho, dokud jeho bias se nerovná posun iterátor vrácené end().
Mazání nebo odebrání prvku volání destruktoru jeho uložené hodnoty.Zničení kontejneru vymaže všechny prvky.Kontejner, jehož typ prvku ref class tedy zajišťuje, že žádné prvky outlive kontejneru.Uvědomte si však, že kontejner úchyty se not zničit jeho prvků.
Požadavky
Záhlaví:<cliext/deque.>
Obor názvů: cliext