À la carte C ++

À la carte C ++

La bibliothèque C ++ STL nous fournit une classe de carte. Les cartes sont considérées comme des conteneurs associatifs qui conservent des objets dans une paire de valeurs clés ordonnées et de valeurs mappées. Il ne peut jamais y avoir deux valeurs mappées avec la même valeur de clé. La classe MAP offre de nombreuses fonctions, mais ici nous discuterons du carte.à() fonction. L'élément mappé à la valeur de clé est passé comme le paramètre de la fonction référencé à l'aide du carte.à() fonction. Lorsque nous essayons d'atteindre un élément qui n'est pas à l'intérieur de la gamme du conteneur, le carte.à() La fonction évalue la plage du conteneur et lance une exception.

Syntaxe de la carte.AT () Fonction

Nous devons suivre la syntaxe ci-dessous pour implémenter la carte.AT () Fonction en c++.

Map_variable.AT (paire clé / valeur)

Nous avons utilisé l'objet Map qui est nommé «map_variable» avec le à() fonction. Il renvoie l'élément qui est directement référencé et pointe vers la valeur de clé spécifiée. La carte des clés de données dépend principalement de la plage de la carte. Si ce n'est pas le cas, il est possible qu'une exception ou une erreur soit renvoyée au moment de l'exécution qui signifie que la valeur est au-delà de la plage définie. Maintenant, nous utiliserons cette syntaxe dans les codes C ++ pour montrer qu'il fonctionne.

Exemple 1: Utilisation de la carte.AT () Fonction

Le programme est mis en œuvre pour démontrer la carte.à la fonction. Nous avons lié le à() fonction avec le carte() fonction qui prend certaines valeurs d'entrée et montre sa fonctionnalité. Pour cela, nous avons rempli la section d'en-tête du programme en important le module de carte avec un autre module requis pour C++. Ensuite, nous avons appelé le principal() fonction pour la déclaration de carte de la classe de carte. L'objet de la carte est étiqueté comme «mymap». Nous créons la liste des cartes en donnant la clé et la valeur de la carte.

Après cela, nous avons invoqué le carte.à() fonction qui mappe la chaîne spécifiée à un entier. Ensuite, nous avons imprimé les résultats du carte.à() fonction de la boucle pour. La boucle FOR utilise la référence de mot-clé «Auto». Le mot-clé automatique indique que l'initialisateur supprimera automatiquement le type de la variable de celui déclaré. L'instruction COUT imprimera les paires dans l'ordre qui est renvoyé du carte.à() fonction.

#inclure
#inclure
#inclure
int main ()
STD :: Carte MyMap =
"Apple", 0,
"Grapes", 0,
"mangues", 0
Mymap.à ("Apple") = 5;
Mymap.à ("Grapes") = 10;
Mymap.à ("mangues") = 6;
pour (auto & m: mymap)
std :: cout << m.first << ": " << m.second << '\n';
retour 0;

Maintenant, nous avons les résultats du programme ci-dessus qui implémente le carte.à() fonction. Tous les entiers spécifiés qui sont à portée sont affichés contre chaque chaîne.

Exemple 2: Utilisation de la carte.Fonction () pour exception out_of_range

Nous avons discuté par un exemple de programme l'utilisation du carte.à fonction en c++. Maintenant, nous en avons mis en œuvre un autre carte.à dans le programme. Mais cette fois, il renverra la valeur présentée à l'intérieur de la carte et également l'exception OUT_OF_RANGE lorsque la clé n'est pas spécifiée. Comme nous devons utiliser le carte.à fonction, nous avons donc ajouté le module de carte dans l'en-tête. Ensuite, nous avons défini la fonction principale où le «vide» est passé comme un paramètre.

À l'intérieur de la fonction principale, nous avons initialisé le constructeur de la liste en créant l'objet MAP comme «M1». La liste des cartes a différentes chaînes de clés et les valeurs entières contre eux. Ensuite, nous avons imprimé la clé «I» en le faisant passer par le carte.à fonction. Nous avons employé le bloc d'essai. Dans le bloc d'essai, nous avons présenté la clé de non-existence dans le carte.à fonction. Comme la clé est hors de portée, donc le bloc d'essai lancera l'erreur.

#inclure
#inclure
Utilisation de Namespace Std;
int main (void)
carte m1 =
'l', 1,
'i', 2,
'n', 3,
'u', 4,
'x', 5,
;
couter << "map key value m1['i'] = " << m1.at('i') << endl;
essayer
M1.à ('y');
catch (const Out_Of_Range & e)
cerr << "Error at " << e.what() << endl;

retour 0;

Nous pouvons visualiser à partir de la capture d'écran de sortie que le carte.à() La fonction renvoie uniquement les touches présentes dans la carte. Les touches hors de portée lancent l'erreur à mesure que l'erreur s'affiche lorsque nous avons passé la clé «Y» dans le carte.à fonction.

Exemple 3: Utilisation de la carte.fonction à () pour accéder aux éléments

Un élément est accessible en utilisant l'élément spécifié des chiffres de la carte.à la fonction. Mise en œuvre de ce programme pour accomplir la déclaration ci-dessus. Nous avons d'abord défini le module de carte dans la section d'en-tête car il est nécessaire pour accéder au carte.à fonction. Ensuite, nous avons la fonction principale où la classe MAP a initialisé l'objet MAP comme «MAP». Avec cet objet «map», nous avons généré les clés des chaînes et leur avons attribué la valeur du chiffre. Après cela, nous avons appelé le carte.à une fonction avec l'instruction COUT et a passé la touche «Exemple» comme entrée.

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

carte Carte;
Map ["my"] = 1;
Map ["c ++"] = 2;
Map ["map"] = 3;
Map ["Exemple"] = 4;
couter << Map.at("Example");
retour 0;

L'élément de chiffre est retourné contre la clé spécifiée dans le carte.à fonction. Le résultat donne la valeur «4» car ce chiffre est attribué à l'élément clé «Exemple» d'une carte.

Exemple 4: Utilisation de la carte.fonction à () pour modifier les éléments

Voyons une instance simple de modification de la valeur associée à la valeur clé. Nous avons créé la liste de la carte en appelant la classe de carte et en créant l'objet «M1». Nous avons attribué la valeur de la chaîne à chaque clé de la carte. Ensuite, nous devons utiliser le carte.à fonction. Dans le carte.à Fonction, nous avons utilisé les touches spécifiées et attribué les nouvelles valeurs de chaîne par rapport à ces clés. Maintenant, ces valeurs seront modifiées avec la précédente. Avec l'aide de For Loop, nous avons itéré chaque élément de la carte et l'avons affiché sous forme de sortie.

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main ()

carte M1 =
10, "C ++",
20, "Java",
30, "Python",
40, "cSharp",
50, "OOP";
M1.à (20) = "TensorFlow";
M1.à (30) = "Linux";
M1.à (50) = "scala";
couter<<"\nElements:" <pour (auto & x: m1)
couter << x.first << ": " << x.second << '\n';

retour 0;

Remarquez que les valeurs obtenues en tant que sortie ont modifié les valeurs de chaîne nouvellement attribuées dans le carte.à fonction. Les valeurs mises à jour sont affichées dans l'instantané ci-dessous.

Conclusion

L'article concerne la carte.à la fonction. Nous avons fourni la fonctionnalité de la carte.AT () Fonction via sa syntaxe et l'exemple est implémenté avec le compilateur C ++. La carte.La fonction AT () est très utile car elle permet l'accessibilité des éléments et renvoie une exception ou une erreur claire qui décrit la situation qui est survenue lorsque la méthode est appelée. De plus, nous pouvons attribuer de nouvelles valeurs à la clé d'existence à travers la carte.à la fonction.