Sdílet prostřednictvím


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

s44w4h2s.collapse_all(cs-cz,VS.110).gifKonstruktory

Mapa

Sestaví seznam určité velikosti nebo s prvky konkrétní hodnotu nebo s určitým allocator nebo jako kopii některé jiné mapy.

s44w4h2s.collapse_all(cs-cz,VS.110).gifDefinice Typedef

allocator_type

Definice typu pro allocator třídy pro objekt mapy.

const_iterator

Definice typu pro obousměrný iterátor, který lze číst const element v mapě.

const_pointer

Definice typu pro ukazatel const element na mapě.

const_reference

Typedef odkaz const prvku, které jsou uloženy v mapě pro čtení a provádění const operace.

const_reverse_iterator

Typ, který poskytuje obousměrný iterátor, která mohou číst všechny const element v mapě.

difference_type

Počet prvků mapy v rozmezí mezi prvky, které odkazuje iterátorů definice typu signed integer.

iterace

Definice typedef obousměrný iterátor, který lze číst nebo upravovat libovolný prvek na mapě.

key_compare

Definice typu funkce objektu, který lze porovnat dva klíče řazení určit relativní pořadí dvou prvků v mapě.

key_type

Definice typedef klíč řazení, které jsou uloženy v každém prvku mapy.

mapped_type

Definice typu dat uložených v jednotlivých elementů mapy.

ukazatel

Definice typu pro ukazatel const element na mapě.

odkaz

Definice typu odkazu na prvek uložen na mapě.

reverse_iterator

Definice typedef obousměrný iterátor, který lze číst nebo upravovat element v převrácené mapy.

size_type

Definice typu celé číslo bez znaménka pro počet prvků na mapě

value_type

Definice typu pro typ objektu, které jsou uloženy jako element v mapě.

s44w4h2s.collapse_all(cs-cz,VS.110).gifMetody

map::at

Vyhledá prvek se zadanou hodnotou klíče.

Začněte

Vrátí iterace odkazující na první element v mapě.

map::cbegin

Vrátí const iterátor, který odkazuje na první element v mapě.

map::cend

Vrátí const iterátor minulosti the end.

Vymazat

Vymaže všechny prvky mapy.

počet

Vrátí počet prvků v mapě, jejíž klíč odpovídající klíč zadaný v parametru.

map::crbegin

Vrátí const iterátor, který odkazuje na první element v převrácené mapy.

map::crend

Vrátí argument iterátor, který odkazuje na umístění za poslední element v převrácené mapy.

map::emplace

Vloží prvek vyrobeno na místě do mapy.

map::emplace_hint

Vloží prvek vyrobeno na místě do mapy pomocí nápovědy pro umístění.

prázdné

Vrátí true Pokud je mapování prázdný.

Konec

Vrátí iterace minulosti the end.

equal_range

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íč.

Vymazat

Odebere prvek nebo rozsahu prvků v mapě od zadané pozice.

Najít

Vrátí iterátor, který odkazuje na umístění prvku v mapě, který má klíče rovno zadaný klíč.

get_allocator

Vrátí kopii allocator objekt, který slouží k vytvoření mapy.

Vložit

Vloží prvek nebo rozsahu prvků do mapy na určené pozici.

key_comp

Vrátí kopii porovnání objektu, který používá ke klíčům pořadí na mapě.

lower_bound

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.

max_size

Vrátí maximální délky na mapě.

rbegin

Vrátí iterace odkazující na první element v převrácené mapy.

rend

Vrátí iterace odkazující umístění za poslední element v převrácené mapy.

size

Vrátí počet prvků v mapě.

odkládací

Vyměňuje prvky dvě mapy.

upper_bound

Vrátí iterace na první element v mapě, který má hodnotu klíče, který je větší než v určeném klíči.

value_comp

Získá kopii porovnání objektu, který se používá pro hodnoty pořadí elementů v mapě.

s44w4h2s.collapse_all(cs-cz,VS.110).gifOperátory

operátor]

Vloží prvek do mapy se zadanou hodnotou klíče.

map::operator=

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++

Standardní šablona knihovny

Další zdroje

mapování členů

<map> Členové