Freigeben über


map Class

Wird zum Speichern und Abrufen von Daten aus einer Auflistung, in der jedes Element ein Paar ist, das einen Datenwert und einen Sortierschlüssel verfügt.Der Wert der Schlüssel ist eindeutig und wird verwendet, um automatisch die Daten zu sortieren.

Der Wert eines Elements in einer Zuordnung kann direkt geändert werden.Der Schlüsselwert ist eine Konstante und kann nicht geändert werden.Stattdessen müssen die Schlüsselwerte, die mit alten Elementen zugeordnet sind, gelöscht werden, und neue Schlüsselwerte müssen für neue Elemente eingefügt werden.

template <
   class Key, 
   class Type, 
   class Traits = less<Key>, 
   class Allocator=allocator<pair <const Key, Type> > 
>
class map

Parameter

  • Key
    Der in der Zuordnung gespeichert werden, Schlüsseldatentyp.

  • Type
    Der in der Zuordnung gespeichert werden, Elementdatentyp.

  • Traits
    Der Typ, der ein Funktionsobjekt bereitstellt, das zwei Elementwerte als Sortierschlüssel vergleichen kann, um deren relative Position in der Zuordnung zu bestimmen.Dieses Argument ist optional und das binäre Prädikat less<Key> ist der Standardwert.

  • Allocator
    Der Typ, der die gespeicherte allocator-Objekt darstellt, die Details über die Belegung und Freigabe Speicherplatzbelegung kapselt.Dieses Argument ist optional und der Standardwert ist allocator<pair<constKey*,* Type> >.

Hinweise

Die Assoziationsklasse der Standardvorlagenbibliothek (STL) ist:

  • Ein Container variable Größe, effizient Elementwerte auf Grundlage zugeordnete Schlüsselwerte abruft.

  • Umkehrbar, da sie bidirektionale Iteratoren bereitstellt, um auf die Elemente zuzugreifen.

  • Sortiert, da ihre Elemente anhand Schlüsselwerte entsprechend einer angegebenen Vergleichsfunktion sortiert werden.

  • Eindeutig.da jedes seiner Elemente einen eindeutigen Schlüssel verfügen muss.

  • Ein Paar-vereinigender Container, da die - Elementdatenwerte von ihren Schlüsselwerten unterschiedlich sind.

  • Eine Vorlagenklasse, da die Funktionen, die bereitstellt, ist generisch und unabhängig vom - Elements oder des Schlüsseltyps.Die Datentypen, die für Elemente und Schlüssel verwendet werden, werden als Parameter in der Klassenvorlage zusammen mit der Vergleichsfunktion und der Belegungsfunktion angegeben.

Der Iterator, der von der Assoziationsklasse bereitgestellt wird, ist ein bidirektionaler Iterator, aber die insert und map-Klassenmemberfunktionen haben Versionen, die als Vorlagenparameter einen abgeschwächten Eingabeiterator erhalten, dessen Funktionalitätsanforderungen weniger sind als die, die durch die - Klasse von bidirektionalen Iteratoren gewährleistet werden.Die verschiedenen Iteratorkonzepte werden durch Verfeinerungen in ihre Funktionalität verknüpft.Jedes Iteratorkonzept verfügt über einen eigenen Satz von Anforderungen, und die Algorithmen, die darin arbeiten, müssen durch diese Anforderungen eingeschränkt werden.Ein Eingabeiterator wird dereferenziert werden, um einige Objekt zuzugreifen und wird mit dem folgenden Iterator in der Sequenz erhöht werden.

Es wird empfohlen, die Auswahl des Containertyps auf der Art des mehr basieren und Einfügen das von der Anwendung benötigt wird.Vereinigende Container werden für die Vorgänge der Suche, Einfüge- und des Entfernens optimiert.Die Memberfunktionen, die explizit diese Vorgänge unterstützen, werden sie in einer Zeit aus, die im Durchschnitt dem Logarithmus der Anzahl der Elemente im Container proportional ist.Elemente Einfügen, macht keine Iteratoren ungültig, und Elemente entfernen, macht nur die Iteratoren ungültig die sich speziell auf den entfernten Elemente haben.

Es wird empfohlen, die Zuordnung den assoziative Container der Auswahl erstellen, wenn Bedingungen, die Werte mit Schlüsseln zuordnen, durch die Anwendung erfüllt werden.Ein Modell für diese Art der Struktur ist eine sortierte Liste von eindeutig auftretenden Schlüsselwörtern, die Zeichenfolgenwerte zugeordnet haben, die Definitionen bereitstellen.Wenn ein Wort mehr als eine genaue Definition verfügt, sodass Schlüssel nicht eindeutig ist, wird eine Multimap der Container der Auswahl sein.Wenn nur die Liste von Wörtern gespeichert wird, wird ein Satz der entsprechende Container handeln.Wenn mehrere Vorkommen der Wörter zulässig sind, wird ein Multiset geeignet sein.

Die Zuordnung sortiert die Elemente, die sie steuert, indem sie ein gespeichertes Funktionsobjekt des Typs key_compare aufrufen.In gespeicherte Objekt ist eine Vergleichsfunktion, auf die zugegriffen wird, indem die key_comp-Methode aufruft.Im Allgemeinen alle zwei angegebenen Elemente werden verglichen, um, ob kleiner als das andere ist oder zu bestimmen, ob sie äquivalent sind.Obwohl alle Elemente verglichen werden, wird eine geordnete Sequenz von Elementen antivalenten erstellt.

HinweisHinweis

Die Vergleichsfunktion ist ein binäres Prädikat, das eine strenge schwache Sortierung im mathematischen StandardSinn verursacht.Ein binäres Prädikat f(x,y) ist ein Funktionsobjekt, das zwei Argumentobjekte x und y verfügt, und ein Rückgabewert von true oder von false.Eine Reihenfolge, die zu einem Satz angewendet wird, ist eine strikte schwache binäre Sortierung, wenn das Prädikat irreflexiv transitiv ist, antisymmetrisch, und und wenn Äquivalenz transitiv ist, wobei zwei Objekte x und y definiert werden, um zu entsprechen, wenn f(x,y) und f(y,x)false sind.Wenn die dickere Zustand der Gleichheit zwischen die Schlüssel der Äquivalenz ersetzt, wird die Reihenfolge gesamt (insofern, dass alle Elemente hinsichtlich eines anderen geordnet werden), und die Schlüssel, die verglichen werden, können von einem anderen nicht wahrnehmbar.

Mitglieder

s44w4h2s.collapse_all(de-de,VS.110).gifKonstruktoren

Zuordnung

Erstellt eine Liste einer bestimmten Größe oder mit Elementen eines bestimmten Werts oder mit bestimmten allocator oder als Kopie einer anderen Zuordnung.

s44w4h2s.collapse_all(de-de,VS.110).gifTypedefs

allocator_type

Typedef für die allocator-Klasse für das Zuordnungsobjekt.

const_iterator

Typedef für einen bidirektionalen Iterator, der ein const-Element in der Zuordnung lesen kann.

const_pointer

Typedef für einen Zeiger auf einen const-Element in einer Zuordnung.

const_reference

Typedef als Referenz zu einem Element gespeichert const in einer Zuordnung zum Lesen und Ausführen von const Vorgänge.

const_reverse_iterator

Ein Typ, der einen bidirektionalen Iterator stellt, der beliebige const-Element in der Zuordnung lesen kann.

difference_type

Ganzzahliges Typedef mit Vorzeichen für die Anzahl der Elemente einer Zuordnung in einem Bereich zwischen Elementen wurde durch zu den Iteratoren.

Iterator

Typedef für einen bidirektionalen Iterator, der lesen kann oder jedes Element in einer Zuordnung ändert.

key_compare

Typedef für ein Funktionsobjekt, das zwei Sortierschlüssel vergleichen kann, um die relative Reihenfolge von zwei Elementen in der Zuordnung zu bestimmen.

key_type

Typedef für den Sortierschlüssel gespeichert in jedem Element der Zuordnung.

mapped_type

Typedef für die Daten in jedem Element einer Zuordnung.

pointer

Typedef für einen Zeiger auf einen const-Element in einer Zuordnung.

Verweis

Typedef als Verweis auf ein Element in einer Zuordnung.

reverse_iterator

Typedef für einen bidirektionalen Iterator, der lesen kann oder ein Element in umgekehrter Zuordnung ändert.

size_type

Eine ganze Zahl ohne Vorzeichen Typedef für die Anzahl der Elemente in einer Zuordnung

value_type

Typedef für den Typ des Objekts gespeichert als Element in einer Zuordnung.

s44w4h2s.collapse_all(de-de,VS.110).gifMethoden

map::at

Sucht ein Element mit einem angegebenen Schlüsselwert.

begin

Gibt einen Iterator zurück, der dem ersten Element in der Zuordnung zeigt.

map::cbegin

Gibt einen konstanten Iterator zurück, der dem ersten Element in der Zuordnung zeigt.

map::cend

Gibt einen konstanten Hinter-dEndeiterator zurück.

clear

Löscht alle Elemente einer Zuordnung.

count

Gibt die Anzahl der Elemente in einer Zuordnung zurück, deren Schlüssel der Schlüssel entspricht, die in einem Parameter angegeben wird.

map::crbegin

Gibt einen konstanten Iterator zurück, der dem ersten Element in umgekehrter Zuordnung zeigt.

map::crend

Gibt einen konstanten Iterator zurück, der dem Speicherort nach dem letzten Element in umgekehrter Zuordnung zeigt.

map::emplace

Fügt ein - Element ein, das an der Stelle der Zuordnung erstellt wird.

map::emplace_hint

Fügt ein - Element ein, das an der Stelle der Zuordnung, mit einem Platzierungs-Hinweis erstellt wird.

empty

Gibt true zurück, wenn eine Zuordnung leer ist.

end

Gibt den Hinter-dEndeiterator zurück.

equal_range

Gibt ein Paar Iteratoren zurück.Der erste Iterator paarweise zeigt auf den ersten Element in map mit einem Schlüssel, die größer ist, als ein angegebener Schlüssel.Der zweite Iterator paarweise zeigt auf den ersten Element in map mit einem Schlüssel, die gleich oder größer ist als Schlüssel.

erase

Entfernt ein Element oder einen Bereich von Elementen in einer Zuordnung von den angegebenen Speicherorten.

find

Gibt einen Iterator zurück, der dem Position eines Elements in einer Zuordnung verweist, die eine Schlüssel gleich einem angegebenen Schlüssel verfügt.

get_allocator

Gibt eine Kopie des allocator-Objekts zurück, das verwendet wird, um die Zuordnung zu erstellen.

insert

Fügt ein Element oder einen Bereich von Elementen in die Zuordnung in einer angegebenen Position ein.

key_comp

Gibt eine Kopie des Vergleichsobjekts zurück, das verwendet wurde, um Schlüssel in einer Zuordnung zu sortieren.

lower_bound

Gibt einen Iterator auf das erste Element in einer Zuordnung zurück, die einen Schlüsselwert verfügt, den oder entspricht eines angegebenen Schlüssels größer als der.

max_size

Gibt die maximale Länge der Zuordnung zurück.

rbegin

Gibt einen Iterator zurück, der dem ersten Element in umgekehrter Zuordnung zeigt.

rend

Gibt einen Iterator zurück, der dem Speicherort nach dem letzten Element in umgekehrter Zuordnung zeigt.

size

Gibt die Anzahl der Elemente in der Zuordnung zurück.

swap

Tauscht die Elemente von zwei Zuordnungen aus.

upper_bound

Gibt einen Iterator auf das erste Element in einer Zuordnung zurück, die einen Schlüsselwert verfügt, der größer als der eines angegebenen Schlüssels ist.

value_comp

Ruft eine Kopie des Vergleichsobjekts ab, das verwendet wird, um Elementwerte in einer Zuordnung zu sortieren.

s44w4h2s.collapse_all(de-de,VS.110).gifOperatoren

operator[]

Fügt ein Element in eine Zuordnung mit einem angegebenen Schlüsselwert ein.

map::operator=

Ersetzt die Elemente einer Zuordnung durch eine Kopie einer anderen Zuordnung.

Anforderungen

Header: <map>

Namespace: std

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek

Standardvorlagenbibliothek

Weitere Ressourcen

Zuordnung Member

<map> Member