C++ je programski jezik koji se koristi za razvoj visokoučinkovitih i kvalitetnih aplikacija. Jedna od značajki koje C++ nudi je manipulacija nizovima, što uključuje mogućnost usporedbe nizova da se vidi jesu li jednaki. Međutim, C++ nudi dvije metode za usporedbu nizova: == ' operator i ' usporedi() ” metoda. Unatoč njihovoj sličnosti, oni imaju jasne razlike koje mogu utjecati na izvedbu vašeg koda.
Ovaj vodič će pokriti razliku između ove dvije metode, == i compare() u C++.
== Operator u C++
U C++, operator double equal == koristi se za provjeru jesu li dvije vrijednosti jednake ili ne. Sljedeći je opći format za korištenje operatora ==:
Za korištenje ' == ” za usporedbu nizova, opći format je sljedeći:
- Prvo morate deklarirati dvije string varijable za usporedbu.
- Zatim upotrijebite ' == ” za usporedbu oba niza.
- Operator će vratiti Booleovu vrijednost ' istina ili laž “, ovisno o tome jesu li dva niza identična.
Evo primjera:
#include
#include
korištenjem imenski prostor std ;
int glavni ( ) {
string str1 = 'Zdravo' ;
niz str2 = 'Linux' ;
string str3 = 'Zdravo' ;
ako ( str1 == str2 ) {
cout << 'Niz 1 i niz 2 su jednaki' << endl ;
} drugo {
cout << 'Niz 1 i niz 2 nisu jednaki' << endl ;
}
ako ( str1 == str3 ) {
cout << 'Niz 1 i niz 3 su jednaki' << endl ;
} drugo {
cout << 'Niz 1 i niz 3 nisu jednaki' << endl ;
}
povratak 0 ;
}
compare() Metoda u C++
U C++-u, metoda compare() koristi se za usporedbu dva niza znak po znak, na temelju njihovih ASCII vrijednosti, i vraća cijeli broj koji predstavlja njihov odnos. Ako je prvi niz leksikografski manji od drugog niza, cjelobrojna vrijednost koju vraća ova metoda je negativna i nula ako su dva uspoređena niza identična, a ako je prvi niz veći od drugog, tada će ova metoda vratiti pozitivan broj.
Ispod je format za korištenje metode compare():
int ime_varijable = str1. usporediti ( str2 ) ;Ispod je primjer koda za usporedbu dva niza pomoću metode compare():
#include#include
korištenjem imenski prostor std ;
int glavni ( ) {
string str1 = 'LinuxHint' ;
niz str2 = 'web stranica' ;
int proizlaziti = str1. usporediti ( str2 ) ;
ako ( proizlaziti < 0 )
{
cout << 'Niz 1 je leksikografski manji od niza 2.' << endl ;
}
povratak 0 ;
}
Koja je razlika između C++ String == i metode compare().
Ključne razlike između metode compare() i operatora == navedene su u nastavku:
usporedi() | == Operater |
---|---|
Vraća vrijednost cijelog broja | Vraća Booleovu vrijednost |
Za dobivanje točnih rezultata potrebna je ista duljina uspoređivanih nizova | Uspoređuje cijele nizove znak po znak |
Može izvoditi više operacija ovisno o argumentima | Može izvesti samo jednu operaciju |
Izvodi leksikografsku usporedbu nizova znak po znak | Obavlja jednostavnu usporedbu cijelih nizova |
Izvodi izdvajanje niza riječ po riječ | Izvodi usporedbu nizova znakova po znakove |
Zaključak
C++ je moćan programski jezik koji nudi mogućnosti manipulacije nizovima, uključujući mogućnost usporedbe nizova pomoću ' == ' operator ili ' usporedi() ” metoda. Obje metode imaju jasne razlike koje utječu na performanse koda, a razumijevanje kada koristiti svaku od njih može pomoći programerima da napišu učinkovitiji kod.