Στο χάρτη C++

Sto Charte C



Η βιβλιοθήκη C++ STL μας παρέχει μια κλάση χάρτη. Οι χάρτες θεωρούνται συσχετιστικά κοντέινερ που διατηρούν αντικείμενα σε ένα ζεύγος διατεταγμένων βασικών τιμών και αντιστοιχισμένων τιμών. Δεν μπορούν ποτέ να υπάρχουν δύο αντιστοιχισμένες τιμές με την ίδια τιμή κλειδιού. Η κλάση χάρτη παρέχει πολλές λειτουργίες, αλλά εδώ θα συζητήσουμε τις map.at() λειτουργία. Το αντιστοιχισμένο στοιχείο στην τιμή κλειδιού μεταβιβάζεται ως παράμετρος της συνάρτησης που αναφέρεται χρησιμοποιώντας το map.at() λειτουργία. Όταν προσπαθούμε να φτάσουμε σε ένα στοιχείο που δεν βρίσκεται εντός της εμβέλειας του κοντέινερ, το map.at() Η συνάρτηση αξιολογεί την εμβέλεια του κοντέινερ και κάνει μια εξαίρεση.

Σύνταξη της συνάρτησης map.at().

Πρέπει να ακολουθήσουμε την παρακάτω σύνταξη για να εφαρμόσουμε τη συνάρτηση map.at() στη C++.







Map_variable.at ( κλειδί / ζεύγος τιμών )



Χρησιμοποιήσαμε το αντικείμενο χάρτη που ονομάζεται 'Map_variable' με το στο() λειτουργία. Επιστρέφει το στοιχείο που αναφέρεται απευθείας και δείχνει την καθορισμένη τιμή κλειδιού. Ο χάρτης κλειδιού δεδομένων εξαρτάται κυρίως από το εύρος του χάρτη. Εάν δεν είναι, υπάρχει πιθανότητα να επιστραφεί μια εξαίρεση ή ένα σφάλμα κατά το χρόνο εκτέλεσης που σημαίνει ότι η τιμή είναι πέρα ​​από το καθορισμένο εύρος. Τώρα, θα χρησιμοποιήσουμε αυτή τη σύνταξη στους κώδικες C++ για να δείξουμε ότι λειτουργεί.



Παράδειγμα 1: Χρήση της συνάρτησης map.at().

Το πρόγραμμα υλοποιείται για την επίδειξη της συνάρτησης map.at. Έχουμε συνδέσει το στο() λειτουργία με το χάρτης() συνάρτηση που παίρνει κάποιες τιμές εισόδου και δείχνει τη λειτουργικότητά της. Για αυτό, έχουμε συμπληρώσει την ενότητα κεφαλίδας του προγράμματος εισάγοντας τη λειτουργική μονάδα χάρτη με μια άλλη απαιτούμενη ενότητα για το c++. Στη συνέχεια, καλέσαμε το κύριος() συνάρτηση για τη δήλωση χάρτη από την κλάση χάρτη. Το αντικείμενο του χάρτη επισημαίνεται ως 'MyMap'. Δημιουργούμε τη λίστα των χαρτών δίνοντας το κλειδί και την τιμή του χάρτη.





Μετά από αυτό, επικαλεστήκαμε το map.at() συνάρτηση που αντιστοιχίζει την καθορισμένη συμβολοσειρά σε έναν ακέραιο. Στη συνέχεια, εκτυπώσαμε τα αποτελέσματα από το map.at() συνάρτηση από τον βρόχο for. Ο βρόχος for χρησιμοποιεί την αναφορά λέξης κλειδιού 'auto'. Η αυτόματη λέξη-κλειδί υποδεικνύει ότι ο αρχικοποιητής θα αφαιρέσει αυτόματα τον τύπο της μεταβλητής από αυτόν που δηλώνεται. Η δήλωση cout θα εκτυπώσει τα ζεύγη με τη σειρά που επιστρέφεται από το map.at() λειτουργία.

#include

#include

#include <χάρτης>


int main ( )

std: :map < std::string,int > My Map = {

{ 'μήλο', 0 } ,

{ 'σταφύλια' , 0 } ,

{ 'μάνγκο' , 0 } }

MyMap.at ( 'μήλο' ) = 5 ;

MyMap.at ( 'σταφύλια' ) = 10 ;

MyMap.at ( 'μάνγκο' ) = 6 ;

Για ( αυτο & m: MyMap ) {

std::cout << μ.πρώτα << ':' << μ.δευτερόλεπτο << '\n' ; }

< ισχυρός > ΕΠΙΣΤΡΟΦΗ 0 ;

}



Τώρα, έχουμε τα αποτελέσματα από το παραπάνω πρόγραμμα που υλοποιεί το map.at() λειτουργία. Όλοι οι καθορισμένοι ακέραιοι αριθμοί που βρίσκονται στην περιοχή εμφανίζονται σε κάθε συμβολοσειρά.

Παράδειγμα 2: Χρήση της συνάρτησης map.at() για εξαίρεση εκτός εύρους

Έχουμε συζητήσει μέσω ενός παραδείγματος προγράμματος τη χρήση του χάρτης.at λειτουργία σε C++. Τώρα, έχουμε εφαρμόσει ένα άλλο χάρτης.at στο πρόγραμμα. Αλλά αυτή τη φορά θα επιστρέψει την τιμή που παρουσιάζεται μέσα στον χάρτη και επίσης την εξαίρεση εκτός_περιοχής όταν το κλειδί δεν έχει καθοριστεί. Καθώς πρέπει να αξιοποιήσουμε το χάρτης.at λειτουργία, έτσι έχουμε προσθέσει τη μονάδα χάρτη στην κεφαλίδα. Στη συνέχεια, ορίσαμε την κύρια συνάρτηση όπου το 'κενό' μεταβιβάζεται ως παράμετρος.

Μέσα στην κύρια συνάρτηση, αρχικοποιήσαμε τον κατασκευαστή λίστας δημιουργώντας το αντικείμενο χάρτη ως 'm1'. Η λίστα χαρτών έχει διαφορετικές σειρές κλειδιών και τις ακέραιες τιμές σε σχέση με αυτές. Στη συνέχεια, εκτυπώσαμε το κλειδί «i» περνώντας το από το χάρτης.at λειτουργία. Έχουμε χρησιμοποιήσει το μπλοκ try-catch. Στο μπλοκ δοκιμής, παρουσιάσαμε το κλειδί μη ύπαρξης στο χάρτης.at λειτουργία. Καθώς το κλειδί βρίσκεται εκτός εύρους, έτσι το μπλοκ δοκιμής θα προκαλέσει το σφάλμα.

#include

#include <χάρτης>

χρησιμοποιώντας namespace std?

int main ( κενός ) {


χάρτης < char, int > m1 = {

{ 'μεγάλο' , 1 } ,

{ 'Εγώ' , δύο } ,

{ 'n' , 3 } ,

{ 'σε' , 4 } ,

{ 'Χ' , 5 } ,

} ;



cout << 'map key value m1['i'] = ' << m1.at ( 'Εγώ' ) << endl;



προσπαθήστε {

m1.at ( 'Ε' ) ;

} σύλληψη ( const εκτός_περιοχής & και ) {

cerr << 'Σφάλμα στο' << ε.τι ( ) << endl;

}



ΕΠΙΣΤΡΟΦΗ 0 ;

}

Μπορούμε να απεικονίσουμε από το στιγμιότυπο οθόνης εξόδου ότι το map.at() Η λειτουργία επιστρέφει μόνο τα πλήκτρα που υπάρχουν στον χάρτη. Τα πλήκτρα εκτός εύρους εκπέμπουν το σφάλμα καθώς το σφάλμα εμφανίζεται όταν περάσαμε το κλειδί 'y' στο χάρτης.at λειτουργία.

Παράδειγμα 3: Χρήση της συνάρτησης map.at() για πρόσβαση σε στοιχεία

Μπορείτε να προσπελάσετε ένα στοιχείο χρησιμοποιώντας το καθορισμένο στοιχείο ψηφίων από τη συνάρτηση map.at. Ας εφαρμόσουμε αυτό το πρόγραμμα για να ολοκληρώσουμε την παραπάνω δήλωση. Έχουμε ορίσει τη μονάδα χάρτη πρώτα στην ενότητα κεφαλίδας καθώς απαιτείται για την πρόσβαση σε αυτήν χάρτης.at λειτουργία. Στη συνέχεια, έχουμε την κύρια συνάρτηση όπου η κλάση χάρτη αρχικοποίησε το αντικείμενο του χάρτη ως 'Χάρτης'. Με αυτό το αντικείμενο 'Χάρτης', δημιουργήσαμε τα κλειδιά των συμβολοσειρών και τους εκχωρήσαμε την τιμή του ψηφίου. Μετά από αυτό, καλέσαμε το χάρτης.at μια συνάρτηση με την εντολή cout και πέρασε το κλειδί 'Παράδειγμα' ως είσοδο.

#include

#include <χάρτης>

#include

χρησιμοποιώντας namespace std?

int main ( )

{

χάρτης < χορδή, ενθ > Χάρτης;

Χάρτης [ 'Μου' ] = 1 ;

Χάρτης [ 'c++' ] = δύο ;

Χάρτης [ 'Χάρτης' ] = 3 ;

Χάρτης [ 'Παράδειγμα' ] = 4 ;

cout << Map.at ( 'Παράδειγμα' ) ;

ΕΠΙΣΤΡΟΦΗ 0 ;

}

Το στοιχείο ψηφίου επιστρέφεται έναντι του καθορισμένου κλειδιού στο χάρτης.at λειτουργία. Το αποτέλεσμα δίνει την τιμή '4' καθώς αυτό το ψηφίο εκχωρείται στο βασικό στοιχείο 'Παράδειγμα' ενός χάρτη.

Παράδειγμα 4: Χρήση της συνάρτησης map.at() για την τροποποίηση στοιχείων

Ας εξετάσουμε μια απλή περίπτωση τροποποίησης της τιμής που σχετίζεται με την τιμή κλειδιού. Δημιουργήσαμε τη λίστα του χάρτη καλώντας την κλάση χάρτη και δημιουργώντας το αντικείμενο 'M1'. Έχουμε αντιστοιχίσει την τιμή συμβολοσειράς σε κάθε κλειδί του χάρτη. Στη συνέχεια, πρέπει να αξιοποιήσουμε το χάρτης.at λειτουργία. Στο χάρτης.at Συνάρτηση, χρησιμοποιήσαμε τα καθορισμένα κλειδιά και αντιστοιχίσαμε τις νέες τιμές συμβολοσειράς σε αυτά τα κλειδιά. Τώρα, αυτές οι τιμές θα τροποποιηθούν με την προηγούμενη. Με τη βοήθεια του βρόχου for, επαναλάβαμε κάθε στοιχείο από τον χάρτη και το εμφανίσαμε ως έξοδο.

#include

#include

#include <χάρτης>


χρησιμοποιώντας namespace std?


int main ( )

{

χάρτης < int, string > M1 = {

{ 10 , 'c++' } ,

{ είκοσι , 'Ιάβα' } ,

{ 30 , 'Πύθων' } ,

{ 40 , 'καθαρή' } ,

{ πενήντα , 'ΑΝΟΙΞΕ' } } ;




M1.at ( είκοσι ) = 'Tensorflow' ;

M1.at ( 30 ) = 'Linux' ;

M1.at ( πενήντα ) = 'Σκάλα' ;

cout << ' \n Στοιχεία:' << endl;

Για ( αυτο & x: M1 ) {

cout << χ.πρώτα << ':' << χ.δεύτερο << '\n' ;

}


ΕΠΙΣΤΡΟΦΗ 0 ;

}

Σημειώστε ότι οι τιμές που λαμβάνονται ως έξοδο έχουν τροποποιήσει τις τιμές συμβολοσειράς που εκχωρήθηκαν πρόσφατα στο χάρτης.at λειτουργία. Οι ενημερωμένες τιμές εμφανίζονται στο στιγμιότυπο παρακάτω.

συμπέρασμα

Το άρθρο αφορά τη συνάρτηση map.at. Παρέχουμε τη λειτουργικότητα της συνάρτησης map.at() μέσω της σύνταξής της και το παράδειγμα υλοποιείται με μεταγλωττιστή C++. Η συνάρτηση map.at() είναι πολύ χρήσιμη καθώς επιτρέπει την προσβασιμότητα του στοιχείου και επιστρέφει μια σαφή εξαίρεση ή σφάλμα που περιγράφει την κατάσταση που προέκυψε όταν καλείται η μέθοδος. Επιπλέον, μπορούμε να αντιστοιχίσουμε νέες τιμές στο κλειδί ύπαρξης μέσω της συνάρτησης map.at.