Η C++ είναι μια γλώσσα προγραμματισμού που χρησιμοποιείται για την ανάπτυξη εφαρμογών υψηλής απόδοσης και ποιότητας. Ένα από τα χαρακτηριστικά που προσφέρει η C++ είναι η χειραγώγηση συμβολοσειρών, η οποία περιλαμβάνει τη δυνατότητα σύγκρισης συμβολοσειρών για να δούμε αν είναι ίσες. Ωστόσο, η C++ παρέχει δύο μεθόδους για τη σύγκριση συμβολοσειρών: το ' == ' χειριστής και το ' συγκρίνω() 'μέθοδος. Παρά την ομοιότητά τους, έχουν διακριτές διαφορές που μπορούν να επηρεάσουν την απόδοση του κώδικά σας.
Αυτό το σεμινάριο θα καλύψει τη διαφορά μεταξύ αυτών των δύο μεθόδων, == και σύγκριση() στη C++.
== Χειριστής σε C++
Στη C++, ο τελεστής double ίσο == χρησιμοποιείται για να ελέγξει αν οι δύο τιμές είναι ίσες ή όχι. Ακολουθεί η γενική μορφή για τη χρήση του τελεστή ==:
Για να χρησιμοποιήσετε το « == ” τελεστής για σύγκριση συμβολοσειρών, η γενική μορφή είναι η εξής:
- Αρχικά, πρέπει να δηλώσετε δύο μεταβλητές συμβολοσειράς για σύγκριση.
- Στη συνέχεια χρησιμοποιήστε το ' == ” για να συγκρίνετε και τις δύο χορδές.
- Ο χειριστής θα επιστρέψει μια Boolean τιμή ' σωστό ή λάθος », ανάλογα με το αν οι δύο χορδές είναι ίδιες.
Εδώ είναι ένα παράδειγμα:
#include
#include
χρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( ) {
συμβολοσειρά str1 = 'Γειά σου' ;
συμβολοσειρά str2 = 'Linux' ;
συμβολοσειρά str3 = 'Γειά σου' ;
αν ( str1 == str2 ) {
cout << 'Η συμβολοσειρά 1 και η συμβολοσειρά 2 είναι ίσες' << endl ;
} αλλού {
cout << 'Η συμβολοσειρά 1 και η συμβολοσειρά 2 δεν είναι ίσες' << endl ;
}
αν ( str1 == str3 ) {
cout << 'Η συμβολοσειρά 1 και η συμβολοσειρά 3 είναι ίσες' << endl ;
} αλλού {
cout << 'Η συμβολοσειρά 1 και η συμβολοσειρά 3 δεν είναι ίσες' << endl ;
}
ΕΠΙΣΤΡΟΦΗ 0 ;
}
Μέθοδος compare() σε C++
Στη C++, η μέθοδος compare() χρησιμοποιείται για τη σύγκριση δύο συμβολοσειρών χαρακτήρα προς χαρακτήρα, με βάση τις τιμές ASCII τους, και επιστρέφει έναν ακέραιο που αντιπροσωπεύει τη σχέση τους. Εάν η πρώτη συμβολοσειρά είναι λεξικογραφικά μικρότερη από τη δεύτερη συμβολοσειρά, η ακέραια τιμή που επιστρέφεται με αυτή τη μέθοδο είναι αρνητική και μηδενική εάν οι δύο συγκρινόμενες συμβολοσειρές είναι πανομοιότυπες, και εάν η πρώτη συμβολοσειρά είναι μεγαλύτερη από την άλλη τότε αυτή η μέθοδος θα επιστρέψει τον θετικό αριθμό.
Ακολουθεί η μορφή για τη χρήση της μεθόδου compare():
ενθ variable_name = str1. συγκρίνω ( str2 ) ;Ακολουθεί το παράδειγμα κώδικα για τη σύγκριση δύο συμβολοσειρών χρησιμοποιώντας τη μέθοδο compare():
#include#include
χρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( ) {
συμβολοσειρά str1 = 'LinuxHint' ;
συμβολοσειρά str2 = 'δικτυακός τόπος' ;
ενθ αποτέλεσμα = str1. συγκρίνω ( str2 ) ;
αν ( αποτέλεσμα < 0 )
{
cout << 'Η συμβολοσειρά 1 είναι λεξικογραφικά μικρότερη από τη συμβολοσειρά 2.' << endl ;
}
ΕΠΙΣΤΡΟΦΗ 0 ;
}
Ποια είναι η διαφορά μεταξύ της μεθόδου C++ String == και compare().
Οι βασικές διαφορές μεταξύ της μεθόδου compare() και του τελεστή == παρατίθενται παρακάτω:
συγκρίνω() | == Χειριστής |
---|---|
Επιστρέφει την ακέραια τιμή | Επιστρέφει τη boolean τιμή |
Απαιτεί το ίδιο μήκος συγκριτικών συμβολοσειρών για να ληφθούν ακριβή αποτελέσματα | Συγκρίνει ολόκληρες τις συμβολοσειρές χαρακτήρα προς χαρακτήρα |
Μπορεί να εκτελέσει πολλαπλές λειτουργίες ανάλογα με τα ορίσματα | Μπορεί να εκτελέσει μόνο μία λειτουργία |
Πραγματοποιεί λεξικογραφική σύγκριση των συμβολοσειρών χαρακτήρα προς χαρακτήρα | Εκτελεί μια απλή σύγκριση ολόκληρων των χορδών |
Εκτελεί εξαγωγή συμβολοσειράς λέξη προς λέξη | Εκτελεί σύγκριση συμβολοσειρών χαρακτήρων προς χαρακτήρα |
συμπέρασμα
Η C++ είναι μια ισχυρή γλώσσα προγραμματισμού που προσφέρει δυνατότητες χειρισμού συμβολοσειρών, συμπεριλαμβανομένης της δυνατότητας σύγκρισης συμβολοσειρών χρησιμοποιώντας το ' == ' χειριστής ή το ' συγκρίνω() 'μέθοδος. Και οι δύο μέθοδοι έχουν ευδιάκριτες διαφορές που επηρεάζουν την απόδοση του κώδικα και η κατανόηση του πότε πρέπει να χρησιμοποιείται η καθεμία μπορεί να βοηθήσει τους προγραμματιστές να γράψουν πιο αποτελεσματικό κώδικα.