Auf Karte C ++

Auf Karte C ++

Die C ++ STL -Bibliothek bietet uns eine Kartenklasse. Karten gelten als assoziative Container, die Objekte in einem Paar geordneter Schlüsselwerte und zugeordneten Werten behalten. Es kann niemals zwei zugeordnete Werte mit dem gleichen Schlüsselwert geben. Die Kartenklasse bietet viele Funktionen, aber hier werden wir die diskutieren Karte.bei() Funktion. Das zugeordnete Element zum Schlüsselwert wird als Parameter der Funktion übergeben, auf das mit dem verwiesen wird Karte.bei() Funktion. Wenn wir versuchen, zu einem Element zu gelangen, das sich nicht im Bereich des Containers befindet, ist die Karte.bei() Die Funktion bewertet den Bereich des Containers und macht eine Ausnahme aus.

Syntax der Karte.bei () Funktion

Wir müssen der folgenden Syntax folgen, um die Karte zu implementieren.bei () Funktion in c++.

Map_variable.at (Schlüssel-/Wertpaar)

Wir haben das MAP -Objekt verwendet, das mit dem als "map_variable" bezeichnet wird bei() Funktion. Es gibt das direkt verwiesene Element zurück und zeigt auf den angegebenen Schlüsselwert. Die Datenschlüsselkarte hängt hauptsächlich vom Bereich der Karte ab. Wenn dies nicht der Fall ist, besteht die Möglichkeit, dass eine Ausnahme oder ein Fehler zu Ausführungszeit zurückgegeben wird, was bedeutet. Jetzt werden wir diese Syntax in den C ++ - Codes verwenden, um zu zeigen, dass sie funktioniert.

Beispiel 1: Verwenden der Karte.bei () Funktion

Das Programm wird implementiert, um die Karte zu demonstrieren.bei Funktion. Wir haben die verknüpft bei() Funktion mit dem Karte() Funktion, die einige Eingabewerte nimmt und ihre Funktionalität zeigt. Zu diesem Zeitpunkt haben wir den Abschnitt des Programms des Programms gefüllt, indem wir das Kartenmodul mit einem anderen erforderlichen Modul für C importiert haben++. Dann haben wir das angerufen hauptsächlich() Funktion für die Kartendeklaration aus der Kartenklasse. Das Objekt der Karte ist als "MYMAP" bezeichnet. Wir erstellen die Liste der Karten, indem wir den Kartenschlüssel und den Wert angeben.

Danach haben wir das angerufen Karte.bei() Funktion, die die angegebene Zeichenfolge einer Ganzzahl ordnet. Dann druckten wir die Ergebnisse aus dem Karte.bei() Funktion aus der für Schleife. Die für Schleife verwendet die Keyword -Referenz "Auto". Das Auto -Schlüsselwort zeigt an, dass der Initialisierer den Typ der Variablen automatisch von dem erklärt wird. Die Cout -Anweisung druckt die Paare in der Reihenfolge aus, die von der zurückgegeben wird Karte.bei() Funktion.

#enthalten
#enthalten
#enthalten
int main ()
STD :: Karte MYMAP =
"Apple", 0,
"Trauben", 0,
"Mangos", 0
MYMAP.at ("apple") = 5;
MYMAP.at ("trauben") = 10;
MYMAP.at ("mangos") = 6;
für (auto & m: MYMAP)
std :: Cout << m.first << ": " << m.second << '\n';
Rückkehr 0;

Jetzt haben wir die Ergebnisse aus dem obigen Programm, das das implementiert Karte.bei() Funktion. Alle angegebenen Zahlen, die sich im Bereich befinden, werden gegen jede Zeichenfolge angezeigt.

Beispiel 2: Verwenden der Karte.bei () Funktion für die Out_of_Range -Ausnahme

Wir haben durch ein Beispielprogramm die Verwendung der verwendet Karte.bei Funktion in c++. Jetzt haben wir eine andere implementiert Karte.bei im Programm. Aber diesmal wird der Wert zurückgegeben, der in der Karte angezeigt wird, und auch die Ausnahme von out_of_range, wenn der Schlüssel nicht angegeben ist. Da müssen wir das nutzen Karte.bei Funktion, also haben wir das Kartenmodul im Header hinzugefügt. Dann haben wir die Hauptfunktion definiert, bei der das „Hohlraum“ als Parameter übergeben wird.

In der Hauptfunktion haben wir den List -Konstruktor initialisiert, indem wir das Kartenobjekt als „M1“ erstellt haben. Die Kartenliste enthält unterschiedliche Schlüsselleichen und die Ganzzahlwerte gegen sie. Dann druckten wir das Schlüssel „I“, indem wir ihn durch die durch den Griff haben Karte.bei Funktion. Wir haben den Try-Catch-Block eingesetzt. Im Try-Block haben wir den Nicht-Existenz-Schlüssel in der vorgestellt Karte.bei Funktion. Da der Schlüssel außerhalb des Bereichs liegt, wirft der Try -Block den Fehler auf.

#enthalten
#enthalten
Verwenden von Namespace STD;
int main (void)
Karte M1 =
'l', 1,
'i', 2,
'n', 3,
'u', 4,
'x', 5,
;
Cout << "map key value m1['i'] = " << m1.at('i') << endl;
versuchen
M1.bei ('y');
catch (const out_of_range & e)
Cerr << "Error at " << e.what() << endl;

Rückkehr 0;

Wir können uns vom Ausgangs -Screenshot visualisieren, dass die Karte.bei() Funktion gibt nur die in der Karte vorhandenen Schlüssel zurück. Die Tasten außerhalb des Bereichs werfen den Fehler aus, wenn der Fehler angezeigt wird, wenn wir das Schlüssel „Y“ in der übergeben haben Karte.bei Funktion.

Beispiel 3: Verwenden der Karte.bei () Funktion zum Zugriff auf Elemente

Auf ein Element kann mit dem angegebenen Element der Ziffern aus der Karte zugegriffen werden.bei Funktion. Lassen Sie uns dieses Programm implementieren, um die obige Erklärung durchzuführen. Wir haben das Kartenmodul zuerst im Header -Abschnitt definiert, da es für den Zugriff auf die erforderlich ist Karte.bei Funktion. Anschließend haben wir die Hauptfunktion, bei der die Kartenklasse das Kartenobjekt als "Karte" initialisiert hat. Mit diesem „Karten“ -Objekt haben wir die Schlüsseln der Zeichenfolgen generiert und ihnen den Wert der Ziffer zugewiesen. Danach haben wir das angerufen Karte.bei Eine Funktion mit der Cout -Anweisung und bestanden die Taste „Beispiel“ als Eingabe.

#enthalten
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

Karte Karte;
Karte ["mein"] = 1;
MAP ["C ++"] = 2;
Karte ["map"] = 3;
Karte ["Beispiel"] = 4;
Cout << Map.at("Example");
Rückkehr 0;

Das Ziffernelement wird gegen den angegebenen Schlüssel in der zurückgegeben Karte.bei Funktion. Das Ergebnis gibt den Wert „4“ an, da diese Ziffer dem Schlüsselelement "Beispiel" einer Karte zugeordnet ist.

Beispiel 4: Verwenden der Karte.bei () Funktion zum Ändern von Elementen

Betrachten wir eine einfache Instanz, um den mit dem Schlüsselwert zugeordneten Wert zu ändern. Wir haben die Liste der Karte erstellt, indem wir die Kartenklasse aufgerufen und das Objekt "M1" erstellt haben. Wir haben den Zeichenfolgenwert für jeden Schlüssel der Karte zugewiesen. Dann müssen wir das nutzen Karte.bei Funktion. Im Karte.bei Funktion haben wir die angegebenen Schlüssel verwendet und die neuen Stringwerte gegen diese Schlüssel zugewiesen. Jetzt werden diese Werte mit dem vorherigen geändert. Mit Hilfe von für die Schleife haben wir jedes Element von der Karte iteriert und als Ausgabe angezeigt.

#enthalten
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

Karte M1 =
10, "C ++",
20, "Java",
30, "Python",
40, "CSHARP",
50, "OOP";
M1.bei (20) = "TensorFlow";
M1.bei (30) = "Linux";
M1.bei (50) = "Scala";
Cout<<"\nElements:" <für (auto & x: m1)
Cout << x.first << ": " << x.second << '\n';

Rückkehr 0;

Beachten Sie, dass die als Ausgabe erhaltenen Werte die neu zugewiesenen Zeichenfolgewerte in der Karte.bei Funktion. Die aktualisierten Werte sind im folgenden Snapshot angezeigt.

Abschluss

Der Artikel handelt von der Karte.bei Funktion. Wir haben die Funktionalität der Karte bereitgestellt.bei () Funktion durch seine Syntax und das Beispiel wird mit C ++ - Compiler implementiert. Die Karte.bei () Funktion ist sehr nützlich, da sie die Zugänglichkeit der Elemente ermöglicht und eine klare Ausnahme oder einen klaren Fehler zurückgibt. Darüber hinaus können wir über die Karte neue Werte gegen die Existenzschlüssel zuweisen.bei Funktion.