map Class
Používá se pro ukládání a načítání dat z kolekce, ve kterém každý prvek je pár, který má hodnotu data a klíč řazení.Hodnota klíče je jedinečný a je použit automaticky řadit data.
Přímo lze změnit hodnotu prvku na mapě.Hodnota klíče je konstanta a nemůže být změněn.Místo toho je třeba odstranit hodnoty klíče, které jsou spojené s původní prvky a nových hodnot musí být vloženo pro nové prvky.
template <
class Key,
class Type,
class Traits = less<Key>,
class Allocator=allocator<pair <const Key, Type> >
>
class map
Parametry
Key
Klíče datový typ, který má být uložen v mapě.Type
Datový typ elementu má být uložen v mapě.Traits
Typ, který poskytuje funkce objektu, který lze porovnat dvě hodnoty elementu jako klíče řazení k určení jejich relativní pořadí v mapě.Tento argument je nepovinný a binárního predikátu less<Key> je výchozí hodnota.Allocator
Typ, který představuje uloženou přidělování objekt, který zapouzdřuje informace o přidělování a navracení zpět z paměti na mapě.This argument is optional and the default value is allocator<pair<constKey*,* Type> >.
Poznámky
Mapa třída knihovny STL (Standard Template) je:
Kontejner s variabilní velikostí, která efektivně načítá hodnoty elementů, které jsou založeny na přidružené hodnoty klíče.
Vrátit zpět, protože poskytuje obousměrné iterátorů přístup k jeho prvky.
Seřadit, protože jeho prvky jsou seřazeny podle klíče hodnoty podle zadané porovnání funkce.
Jedinečný.protože každý z jeho prvků musí mít jedinečný klíč.
Pár asociativní kontejneru, protože jeho hodnoty dat prvku se liší od jeho hodnoty klíče.
Třída šablony, protože poskytuje funkce je obecný a nezávisle na typu element nebo klíč.Datové typy používané pro prvky a klíče jsou zadány jako parametry do třídy šablony společně s funkce porovnání a přidělování.
Iterační poskytovaném třídou mapy je obousměrný iterátor, ale Vložení a mapy členské funkce třídy mají verze, které berou jako parametry šablony slabší vstupní iterátor, jejichž požadavky funkce jsou méně než ty, které zaručuje, že třída iterátorů obousměrné.Různé iterátor pojmy související upřesnění jejich funkčnosti.Každý koncept iterátor má vlastní sadu požadavků a tyto požadavky musí být omezeny algoritmy, které s ním pracovat.Vstupní iterace může přímo odkázat odkázat na některý objekt a může být zvýšena iterátor další v pořadí.
Doporučujeme založit volba typu kontejner typu vyhledávání a vkládání, který je požadován aplikací.Asociativní kontejnery jsou optimalizovány pro operace vyhledávání, vkládání a odstraňování.Členské funkce, které explicitně podporují tyto operace provádět v době, která je v průměru úměrné logaritmu počtu prvků v kontejneru.Vkládání prvků přestanou platit žádné iterátorů a odebrání prvků zruší platnost pouze iterátory, které výslovně označenou prvky odstraněny.
Doporučujeme, abyste se na mapě asociativní kontejneru volba v případě, že jsou splněny podmínky, které přiřadit hodnoty klíčů v aplikaci.Vzor tohoto druhu struktury je uspořádaný seznam řetězec jednoznačně vyskytující klíčová slova, které mají přidružené hodnoty, které poskytují definice.Pokud slovo má více než jednu definici správné, tak tento klíč je jedinečný, vícenásobné mapování by kontejneru voleb.Pokud je uložen pouze seznam slov, sada by příslušného kontejneru.Pokud je povoleno více výskytů slova, by bylo vhodné multimnožina.
Mapa objednávky prvky ovládá pomocí volání uložené funkce objekt typu key_compare.Tento objekt uložené je porovnání funkce, která je přístupná pomocí volání key_comp metoda.Obecně dvěma dané prvky jsou porovnány zjistit, zda je menší než druhé, nebo zda jsou rovnocenné.Jak budou porovnány všechny prvky, je vytvořen seřazenou sekvenci nerovnocenné prvky.
[!POZNÁMKA]
Porovnání funkcí je binárního predikátu, která indukuje přísné slabé řazení ve standardní matematickém smyslu.Binárního predikátu f(x,y) je funkce objektu, který má dva objekty argumentu x a ya vrácené hodnoty true nebo false.Řazení uložené sady je přísné slabým objednání Pokud binárního predikátu nereflexivní antisymetrického a přenositelné a je-li rovnocennost přenosné, kde dva objekty x a y jsou definovány jako rovnocenné, kdy obě f(x,y) a f(y,x) jsou false.Je-li silnější podmínku rovnosti mezi klíči nahradí, že o rovnocennosti, řazení bude celková (v tom smyslu, že jsou všechny prvky uspořádány s ohledem na sebe vzájemně) a klávesy odpovídající budou od sebe vzájemně indiscernible.
Členy
Konstruktory
Sestaví seznam určité velikosti nebo s prvky konkrétní hodnotu nebo s určitým allocator nebo jako kopii některé jiné mapy. |
Definice Typedef
Definice typu pro allocator třídy pro objekt mapy. |
|
Definice typu pro obousměrný iterátor, který lze číst const element v mapě. |
|
Definice typu pro ukazatel const element na mapě. |
|
Typedef odkaz const prvku, které jsou uloženy v mapě pro čtení a provádění const operace. |
|
Typ, který poskytuje obousměrný iterátor, která mohou číst všechny const element v mapě. |
|
Počet prvků mapy v rozmezí mezi prvky, které odkazuje iterátorů definice typu signed integer. |
|
Definice typedef obousměrný iterátor, který lze číst nebo upravovat libovolný prvek na mapě. |
|
Definice typu funkce objektu, který lze porovnat dva klíče řazení určit relativní pořadí dvou prvků v mapě. |
|
Definice typedef klíč řazení, které jsou uloženy v každém prvku mapy. |
|
Definice typu dat uložených v jednotlivých elementů mapy. |
|
Definice typu pro ukazatel const element na mapě. |
|
Definice typu odkazu na prvek uložen na mapě. |
|
Definice typedef obousměrný iterátor, který lze číst nebo upravovat element v převrácené mapy. |
|
Definice typu celé číslo bez znaménka pro počet prvků na mapě |
|
Definice typu pro typ objektu, které jsou uloženy jako element v mapě. |
Metody
Vyhledá prvek se zadanou hodnotou klíče. |
|
Vrátí iterace odkazující na první element v mapě. |
|
Vrátí const iterátor, který odkazuje na první element v mapě. |
|
Vrátí const iterátor minulosti the end. |
|
Vymaže všechny prvky mapy. |
|
Vrátí počet prvků v mapě, jejíž klíč odpovídající klíč zadaný v parametru. |
|
Vrátí const iterátor, který odkazuje na první element v převrácené mapy. |
|
Vrátí argument iterátor, který odkazuje na umístění za poslední element v převrácené mapy. |
|
Vloží prvek vyrobeno na místě do mapy. |
|
Vloží prvek vyrobeno na místě do mapy pomocí nápovědy pro umístění. |
|
Vrátí true Pokud je mapování prázdný. |
|
Vrátí iterace minulosti the end. |
|
Vrátí pár iterátorů.První iterace dvojice bodů na první prvek map s klíčem, který je větší než zadaný klíč.Druhý iterační dvojice bodů na první element v map s klíčem, který je roven nebo větší než klíč. |
|
Odebere prvek nebo rozsahu prvků v mapě od zadané pozice. |
|
Vrátí iterátor, který odkazuje na umístění prvku v mapě, který má klíče rovno zadaný klíč. |
|
Vrátí kopii allocator objekt, který slouží k vytvoření mapy. |
|
Vloží prvek nebo rozsahu prvků do mapy na určené pozici. |
|
Vrátí kopii porovnání objektu, který používá ke klíčům pořadí na mapě. |
|
Vrátí iterace na první element v mapě, který má hodnotu klíče, která je rovna nebo větší než v určeném klíči. |
|
Vrátí maximální délky na mapě. |
|
Vrátí iterace odkazující na první element v převrácené mapy. |
|
Vrátí iterace odkazující umístění za poslední element v převrácené mapy. |
|
Vrátí počet prvků v mapě. |
|
Vyměňuje prvky dvě mapy. |
|
Vrátí iterace na první element v mapě, který má hodnotu klíče, který je větší než v určeném klíči. |
|
Získá kopii porovnání objektu, který se používá pro hodnoty pořadí elementů v mapě. |
Operátory
Vloží prvek do mapy se zadanou hodnotou klíče. |
|
Nahradí kopie jiného mapování prvků mapy. |
Požadavky
Záhlaví: <map>
Obor názvů: std
Viz také
Referenční dokumentace
Bezpečnostní vlákno v Standardní knihovna C++