Warum kann ich mit Operator[] in einer Const Map nicht auf Elemente zugreifen?
In C verwenden Sie zum Zugriff den Operator[] Elemente in einer Const-Map können zu Fehlern führen. Stattdessen sollte hierfür die Methode at() verwendet werden. Im Gegensatz zu Operator[], der ein neues standardmäßig erstelltes Element hinzufügt, wenn der Schlüssel nicht vorhanden ist, löst at() eine std::out_of_range-Ausnahme aus.
Einführung von at() für Const Maps
at() ist eine relativ neue Methode, die in C 11 speziell für std::map eingeführt wurde. Es bietet eine sicherere Möglichkeit, auf Kartenelemente zuzugreifen, wenn die Karte konstant ist, da das Ändern von Kartenelementen über den Operator [] nicht zulässig ist.
Verwendung von at() in konstanten Karten
Um mit at() auf ein Element in einer const-Map zuzugreifen, rufen Sie einfach die at()-Methode für das Map-Objekt auf und übergeben Sie den Schlüssel als Argument. Zum Beispiel:
const std::map<int, char> B = A; cout << B.at(3) << endl; // works
Vorteile der Verwendung von at()
Die Verwendung von at() beim Zugriff auf Elemente in einer Const-Map bietet die folgenden Vorteile:
Fazit
Bei der Arbeit mit konstante Karten , ist es wichtig, für den Zugriff auf Elemente die Methode at() anstelle von Operator[] zu verwenden. Dadurch wird sichergestellt, dass die Karte unverändert bleibt und eine sichere und zuverlässige Methode zum Abrufen von Daten bereitgestellt wird.
Das obige ist der detaillierte Inhalt vonWarum „at()' anstelle von „operator[]' verwenden, um auf Elemente in einer konstanten C-Map zuzugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!