English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ map at()函数用于通过给定的键值访问map中的元素。如果map中不存在所访问的键,则抛出out_of_range异常。
假设键值为k,语法为:
mapped_type& at(const key_type& k); const mapped_type& at(const key_type& k) const;
k:要访问其map值的元素的键值。
它使用键值返回对元素map值的引用。
让我们看一个访问元素的简单示例。
#include <iostream> #include <string> #include <map> int main () { map<string,int> m = { {"A", 10 }, {"B", 20 }, {"C", 30 }; for (auto& x: m) { cout << x.first << " : " << x.second << '\n'; } return 0; }
Sortie :
A : 10 B : 20 C : 30
Dans celui-ci, la fonction at() est utilisée pour accéder aux éléments de la map.
Laissez-nous voir un exemple simple pour ajouter des éléments en utilisant leurs clés.
#include <iostream> #include <string> #include <map> using namespace std; int main () { map<int,string> mymap= { { 101, "" }, { 102, "" }, { 103, ""} }; mymap.at(101) = "w3codebox" mymap.at(102) = "."; mymap.at(103) = "com"; //Afficher la clé101la valeur, c'est-à-dire w3codebox cout << mymap.at(101); // Afficher la clé102la valeur, c'est-à-dire . cout << mymap.at(102); // Afficher la clé103la valeur, c'est-à-dire com cout << mymap.at(103); return 0; }
Sortie :
oldtoolbag.com
Dans l'exemple ci-dessus, la fonction at() est utilisée pour ajouter des éléments après l'initialisation en utilisant la clé associée.
Laissez-nous voir un exemple simple pour modifier la valeur associée à la clé.
#include <iostream> #include <string> #include <map> using namespace std; int main () { map<int,string> mymap= { { 100, "Nikita"}, { 200, "Deep" }, { 300, "Priya" }, { 400, "Suman" }, { 500, "Aman" }}; cout << "L'élément est:" << endl; for (auto& x: mymap) { cout << x.first << " : " << x.second << '\n'; } mymap.at(100) = "Nidhi"; // Modifier la clé100 de la valeur est modifiée en Nidhi mymap.at(300) = "Pinku"; // Modifier la clé300 de la valeur est modifiée en Pinku mymap.at(500) = "Arohi"; // Modifier la clé500 de la valeur est modifiée en Arohi cout << "\nL'élément modifié est:" << endl; for (auto& x: mymap) { cout << x.first << " : " << x.second << '\n'; } return 0; }
Sortie :
L'élément est : 100: Nikita 200: Deep 300: Priya 400: Suman 500: Aman L'élément modifié est : 100: Nidhi 200: Deep 300: Pinku 400: Suman 500: Arohi
Dans l'exemple ci-dessus, la fonction at() est utilisée pour modifier la valeur associée à la clé.
Laissez-nous voir un exemple simple pour traiter l'exception "Hors de portée" ?
#include <iostream> #include <string> #include <map> using namespace std; int main () { map<char,string> mp= { { 'a',"Java"}, { 'b', "C++"}, { 'c', "Python" }; cout << endl << mp.at('a'); cout << endl << mp.at('b'); cout << endl << mp.at('c'); try { mp.at('z'); // Parce que le map n'a pas de clé avec la valeur z, il lève une exception } cout << endl << "Out of Range Exception at " << e.what(); }
Sortie :
Java C++ Python Exception Out of Range à map::at
L'exemple ci-dessus lève une exception out_of_range, car il n'y a pas de clé avec la valeur z dans le map.