strings pair tuples stl
Μάθετε γρήγορα τις βασικές έννοιες των συμβολοσειρών, ζευγαριών και καλυμμάτων στο STL.
Σε αυτό το σεμινάριο, θα αποκτήσουμε βασικές γνώσεις για τις συμβολοσειρές, τα ζεύγη και τα Tuples στο STL, προτού περάσουμε σε λεπτομερείς και μεγαλύτερες έννοιες όπως Iterators, Algorithms και Containers.
Παρόλο που οι συμβολοσειρές χρησιμοποιούνται με τον ίδιο τρόπο όπως στη γενική γλώσσα C ++, αξίζει να συζητηθεί από την οπτική γωνία STL. Μπορούμε να σκεφτούμε τις χορδές ως διαδοχικό κοντέινερ χαρακτήρων. Επίσης, καθώς ασχολούμαστε με τα μαθήματα προτύπων στο STL, είναι πολύ επιτακτικό να γνωρίζουμε την έννοια του PAIR και του TUPLE σε σχέση με το STL.
=> Δείτε τα εκπαιδευτικά σεμινάρια In-Depth C ++ εδώ.
Τι θα μάθετε:
Χορδές σε STL
Οι συμβολοσειρές στο STL υποστηρίζουν τόσο τη μορφή ASCII όσο και τη μορφή Unicode (ευρείας χαρακτήρας).
Το STL υποστηρίζει δύο τύπους συμβολοσειρών:
# 1) συμβολοσειρά: Αυτή είναι η συμβολοσειρά μορφής ASCII και για να συμπεριλάβουμε αυτόν τον τύπο αντικειμένων συμβολοσειρών στο πρόγραμμα πρέπει να συμπεριλάβουμε το αρχείο string.h στο πρόγραμμά μας.
#include
# 2) wstring: Αυτή είναι η συμβολοσειρά μεγάλου χαρακτήρα. Στον προγραμματισμό MFC, το ονομάζουμε CString. Για να συμπεριλάβουμε αντικείμενα wstring στο πρόγραμμά μας συμπεριλαμβάνουμε το αρχείο xstring.
#include
Είτε ASCII είτε Unicode, οι συμβολοσειρές στο STL υποστηρίζουν διάφορες μεθόδους ακριβώς όπως κάνουν τα άλλα κοντέινερ STL.
Μερικές από τις μεθόδους που υποστηρίζονται από το αντικείμενο συμβολοσειράς είναι:
- να αρχίσει() : Επιστρέψτε τον επαναληπτικό στην αρχή.
- τέλος() : Επιστρέψτε τον επαναληπτικό στο τέλος.
- εισάγετε() : Εισαγωγή σε συμβολοσειρά.
- εξάλειψη() : Διαγραφή χαρακτήρων από συμβολοσειρά.
- Μέγεθος() : Επιστρέφει το μήκος της συμβολοσειράς.
- αδειάζω() : Αδειάστε τα περιεχόμενα της συμβολοσειράς.
Εκτός από αυτές τις μεθόδους που αναφέρθηκαν παραπάνω, έχουμε ήδη καλύψει μεθόδους κλάσης συμβολοσειρών στις προηγούμενες συμβολοσειρές μας σε μαθήματα C ++.
Ας γράψουμε ένα απλό πρόγραμμα για να δείξουμε συμβολοσειρές STL.
πώς να ελέγξετε τη συμβατότητα μεταξύ προγραμμάτων περιήγησης
#include #include using namespace std; int main() { string str1; str1.insert(str1.end(),'W'); str1.insert(str1.end(),'O'); str1.insert(str1.end(),'R'); str1.insert(str1.end(),'L'); str1.insert(str1.end(),'D'); for (string::const_iterator it = str1.begin(); it != str1.end(); ++it) { cout << *it; } int len = str1.size(); cout<<'
Length of string:'< Παραγωγή:
ΚΟΣΜΟΣ
Μήκος συμβολοσειράς: 5
Στον παραπάνω κώδικα, όπως έχουμε δει, δηλώνουμε ένα αντικείμενο συμβολοσειράς str1 και στη συνέχεια χρησιμοποιώντας τη μέθοδο εισαγωγής, προσθέτουμε χαρακτήρες ένα προς ένα στο τέλος της συμβολοσειράς. Στη συνέχεια, χρησιμοποιώντας ένα αντικείμενο επανάληψης, εμφανίζεται η συμβολοσειρά.
Στη συνέχεια, εξάγουμε το μήκος της συμβολοσειράς χρησιμοποιώντας τη μέθοδο μεγέθους. Αυτό είναι ένα απλό πρόγραμμα για την επίδειξη μόνο των χορδών.
PAIR σε STL
Η κλάση PAIR στο STL είναι βολική κατά τον προγραμματισμό των σχετικών κοντέινερ. Το PAIR είναι μια κλάση προτύπου που ομαδοποιεί δύο τιμές είτε των ίδιων είτε διαφορετικών τύπων δεδομένων.
Η γενική σύνταξη είναι:
pair pair1, pair2;
Η παραπάνω γραμμή κώδικα δημιουργεί δύο ζεύγη, δηλαδή pair1 και pair2. Και τα δύο αυτά ζεύγη έχουν το πρώτο αντικείμενο του τύπου T1 και το δεύτερο αντικείμενο του τύπου T2.
Το Τ1 είναι το πρώτο μέλος και το Τ2 είναι το δεύτερο μέλος του ζεύγους1 και του ζεύγους2.
καλύτερες εταιρείες φιλοξενίας ιστοσελίδων στην Ινδία
Ακολουθούν οι μέθοδοι που υποστηρίζονται από την κλάση PAIR:
- Χειριστής (=): Εκχωρήστε τιμές σε ένα ζεύγος.
- ανταλαγή: Ανταλλάσσει τα περιεχόμενα του ζεύγους.
- make_pair (): Δημιουργήστε και επιστρέφετε ένα ζευγάρι με αντικείμενα που ορίζονται από τη λίστα παραμέτρων.
- Τελεστές (==,! =,>,<, = ) : Συγκρίνει δύο ζεύγη λεξικογραφικά.
Ας γράψουμε ένα βασικό πρόγραμμα που δείχνει τη χρήση αυτών των λειτουργιών σε κώδικα.
#include using namespace std; int main () { pair pair1, pair3; pair pair2; pair1 = make_pair(1, 2); pair2 = make_pair(1, 'SoftwareTestingHelp'); pair3 = make_pair(2, 4); cout<< '
Pair1 First member: '< Παραγωγή:
Ζεύγος 1 Πρώτο μέλος: 1
Pair2 Δεύτερο μέλος: SoftwareTestingHelp
Τα ζευγάρια δεν είναι ίδια
Στο παραπάνω πρόγραμμα, δημιουργούμε δύο ζεύγη ακέραιου τύπου το καθένα και ένα άλλο ζεύγος ακέραιου τύπου και συμβολοσειρά. Στη συνέχεια, χρησιμοποιώντας τη συνάρτηση 'make_pair', εκχωρούμε τιμές σε κάθε ζεύγος.
Στη συνέχεια, συγκρίνουμε το ζεύγος 1 και το ζεύγος2 χρησιμοποιώντας τον τελεστή “==” για να ελέγξουμε εάν είναι ίσοι ή όχι. Αυτό το πρόγραμμα δείχνει τη βασική εργασία της κατηγορίας PAIR.
Tuple In STL
Το Tuple concept είναι μια επέκταση του Pair. Σε ζεύγος, μπορούμε να συνδυάσουμε δύο ετερογενή αντικείμενα, ενώ σε πλειάδες μπορούμε να συνδυάσουμε τρία ετερογενή αντικείμενα.
Η γενική σύνταξη μιας πλειάδας είναι:
tupletuple1;
Ακριβώς όπως το ζεύγος, το tuple υποστηρίζει επίσης παρόμοιες λειτουργίες και μερικές επιπλέον πρόσθετες λειτουργίες.
Παρατίθενται παρακάτω:
- Οικοδόμος: Για να δημιουργήσετε μια νέα πλειάδα.
- Tuple_element: Επιστρέφει τον τύπο του στοιχείου tuple.
- make_tuple (): Δημιουργεί και επιστρέφει μια πλειάδα με στοιχεία που περιγράφονται από τη λίστα παραμέτρων.
- Τελεστές (==,! =,>,<, = ): Λεξικογραφικά συγκρίνει δύο ζεύγη.
- Χειριστής (=): Για να εκχωρήσετε τιμή σε μια πλειάδα.
- ανταλαγή: Για να αλλάξετε την τιμή των δύο πλειάδων.
- Γραβάτα: Δέστε τις τιμές μιας πλειάδας στις αναφορές της.
Ας χρησιμοποιήσουμε μερικές από αυτές τις λειτουργίες σε ένα πρόγραμμα για να δούμε τη λειτουργία τους.
#include #include using namespace std; int main () { tuple tuple1; tuple tuple2; tuple1 = make_tuple(1, 2,3); tuple2 = make_tuple(1,'Hello', 'C++ Tuples'); int id; string str1, str2; tie(id, str1, str2) = tuple2; cout << id <<' '<< str1 <<' '<< str2; return 0; }
Παραγωγή:
1 Γεια σας C ++ Tuples
Στον παραπάνω κώδικα για την επίδειξη πλειάδων, δημιουργούμε δύο πλειάδες. Το πρώτο tuple tuple1 αποτελείται από τρεις ακέραιες τιμές. Η δεύτερη πλειάδα, δηλαδή η πλειάδα 2 αποτελείται από μία ακέραια τιμή και δύο τιμές συμβολοσειράς.
Στη συνέχεια, εκχωρούμε τιμές και στις δύο πλειάδες χρησιμοποιώντας τη συνάρτηση 'make_tuple'. Στη συνέχεια, χρησιμοποιώντας τη συνάρτηση 'γραβάτα', συνδέουμε ή αντιστοιχίζουμε τις τιμές από tuple2 σε id και δύο χορδές.
Τέλος, εξάγουμε αυτές τις τιμές. Η έξοδος δείχνει τις τιμές από το tuple2 που αντιστοιχίσαμε στο id και σε δύο συμβολοσειρές.
συμπέρασμα
Έτσι, σε αυτό το σεμινάριο, έχουμε συζητήσει εν συντομία χορδές, ζεύγη και πλειάδες που χρησιμοποιούνται στο STL. Ενώ οι λειτουργίες συμβολοσειρών είναι παρόμοιες με τη γενική C ++, επιπλέον, μπορούμε επίσης να λειτουργήσουμε επαναληπτικά σε αυτές τις συμβολοσειρές.
Οι κατασκευές ζεύγους και πλειάδων είναι εύχρηστες κατά τον προγραμματισμό κοντέινερ STL ειδικά τα συσχετιζόμενα κοντέινερ.
Στο επερχόμενο σεμινάριό μας, θα μάθουμε λεπτομερώς για τους αλγορίθμους και τους επαναληπτικούς προτού προχωρήσουμε στον πραγματικό προγραμματισμό STL χρησιμοποιώντας το STL.
=> Επισκεφθείτε εδώ για να δείτε τη σειρά εκπαίδευσης C ++ για όλους.
Συνιστώμενη ανάγνωση