C++ je programovací jazyk, který se používá pro vývoj vysoce výkonných a kvalitních aplikací. Jednou z funkcí, které C++ nabízí, je manipulace s řetězci, která zahrnuje možnost porovnávat řetězce, aby se zjistilo, zda jsou stejné. C++ však poskytuje dvě metody pro porovnávání řetězců: „ == operátor “ a “ porovnat() “ metoda. Navzdory jejich podobnosti mají výrazné rozdíly, které mohou ovlivnit výkon vašeho kódu.
Tento tutoriál pokryje rozdíl mezi těmito dvěma metodami, == a Compare() v C++.
== Operátor v C++
V C++ se operátor double equal == používá ke kontrole, zda jsou tyto dvě hodnoty stejné nebo ne. Následuje obecný formát pro použití operátoru ==:
Chcete-li použít „ == ” operátor pro porovnávání řetězců, obecný formát je následující:
- Nejprve musíte deklarovat dvě řetězcové proměnné pro porovnání.
- Poté použijte „ == ” pro porovnání obou řetězců.
- Operátor vrátí booleovskou hodnotu „ pravda nebo lež “, v závislosti na tom, zda jsou tyto dva řetězce totožné.
Zde je příklad:
#include
#include <řetězec>
použitím jmenný prostor std ;
int hlavní ( ) {
řetězec str1 = 'Ahoj' ;
řetězec str2 = 'linux' ;
řetězec str3 = 'Ahoj' ;
-li ( str1 == str2 ) {
cout << 'Řetězec 1 a řetězec 2 jsou stejné' << endl ;
} jiný {
cout << 'Řetězec 1 a řetězec 2 nejsou stejné' << endl ;
}
-li ( str1 == str3 ) {
cout << 'Řetězec 1 a řetězec 3 jsou stejné' << endl ;
} jiný {
cout << 'Řetězec 1 a řetězec 3 nejsou stejné' << endl ;
}
vrátit se 0 ;
}
Metoda porovnat() v C++
V C++ se metoda Compare() používá k porovnání dvou řetězců znak po znaku na základě jejich hodnot ASCII a vrací celé číslo, které představuje jejich vztah. Pokud je první řetězec lexikograficky menší než druhý řetězec, celočíselná hodnota vrácená touto metodou je záporná a nula, pokud jsou dva porovnávané řetězce totožné, a pokud je první řetězec větší než druhý, vrátí tato metoda kladné číslo.
Níže je uveden formát pro použití metody Compare():
int název_proměnné = str1. porovnat ( str2 ) ;Níže je uveden příklad kódu pro porovnání dvou řetězců pomocí metody Compare():
#include#include <řetězec>
použitím jmenný prostor std ;
int hlavní ( ) {
řetězec str1 = 'LinuxHint' ;
řetězec str2 = 'webová stránka' ;
int výsledek = str1. porovnat ( str2 ) ;
-li ( výsledek < 0 )
{
cout << 'Řetězec 1 je lexikograficky menší než řetězec 2.' << endl ;
}
vrátit se 0 ;
}
Jaký je rozdíl mezi C++ String == a metodou Compare().
Klíčové rozdíly mezi metodou Compare() a operátorem == jsou uvedeny níže:
porovnat() | == Operátor |
---|---|
Vrátí celočíselnou hodnotu | Vrátí booleovskou hodnotu |
K získání přesných výsledků vyžaduje stejnou délku porovnávaných řetězců | Porovná celé řetězce znak po znaku |
V závislosti na argumentech může provádět více operací | Lze provést pouze jednu operaci |
Provádí lexikografické porovnání řetězců znak po znaku | Provede jednoduché porovnání celých řetězců |
Provádí extrakci řetězce slovo po slově | Provádí porovnání řetězců znak po znaku |
Závěr
C++ je výkonný programovací jazyk, který nabízí možnosti manipulace s řetězci, včetně možnosti porovnávat řetězce pomocí „ == operátor nebo porovnat() “ metoda. Obě metody mají výrazné rozdíly, které ovlivňují výkon kódu, a pochopení, kdy použít každou z nich, může vývojářům pomoci psát efektivnější kód.