Jaký je rozdíl mezi C++ String == a metodou Compare().

Jaky Je Rozdil Mezi C String A Metodou Compare



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.