C++ to język programowania używany do tworzenia aplikacji o wysokiej wydajności i jakości. Jedną z funkcji oferowanych przez język C++ jest manipulowanie ciągami znaków, co obejmuje możliwość porównywania ciągów znaków w celu sprawdzenia, czy są równe. Jednak C++ udostępnia dwie metody porównywania ciągów znaków: „ == ” operatora i „ porównywać() ' metoda. Pomimo podobieństwa mają wyraźne różnice, które mogą wpływać na wydajność kodu.
W tym samouczku omówimy różnicę między tymi dwiema metodami, == i porównania() w C++.
== Operator w C++
W języku C++ operator double equal == służy do sprawdzania, czy dwie wartości są sobie równe. Poniżej przedstawiono ogólny format używania operatora ==:
Aby skorzystać z opcji „ == ” do porównywania łańcuchów, ogólny format jest następujący:
- Najpierw musisz zadeklarować dwie zmienne łańcuchowe do porównania.
- Następnie użyj „ == ”, aby porównać oba ciągi.
- Operator zwróci wartość logiczną „ prawda czy fałsz “, w zależności od tego, czy dwa ciągi są identyczne.
Oto przykład:
#include
#włącz <łańcuch>
za pomocą przestrzeń nazw standardowe ;
int główny ( ) {
ciąg str1 = 'Cześć' ;
ciąg str2 = „Linux” ;
ciąg str3 = 'Cześć' ;
Jeśli ( str1 == str2 ) {
cout << „Ciąg 1 i ciąg 2 są równe” << koniec ;
} w przeciwnym razie {
cout << „Ciąg 1 i ciąg 2 nie są równe” << koniec ;
}
Jeśli ( str1 == str3 ) {
cout << „Ciąg 1 i ciąg 3 są równe” << koniec ;
} w przeciwnym razie {
cout << „Ciąg 1 i ciąg 3 nie są równe” << koniec ;
}
powrót 0 ;
}
Compare() Metoda w C++
W języku C++ metoda Compare() służy do porównywania dwóch ciągów znak po znaku na podstawie ich wartości ASCII i zwraca liczbę całkowitą reprezentującą ich związek. Jeśli pierwszy ciąg znaków jest leksykograficznie mniejszy niż drugi ciąg, wartość całkowita zwracana przez tę metodę jest ujemna i zero, jeśli dwa porównywane ciągi są identyczne, a jeśli pierwszy ciąg jest większy niż drugi, ta metoda zwróci liczbę dodatnią.
Poniżej znajduje się format użycia metody porównania():
int nazwa_zmiennej = str1. porównywać ( str2 ) ;Poniżej znajduje się przykładowy kod do porównywania dwóch ciągów przy użyciu metody Compare() :
#include#włącz <łańcuch>
za pomocą przestrzeń nazw standardowe ;
int główny ( ) {
ciąg str1 = „Podpowiedź dla systemu Linux” ;
ciąg str2 = 'strona internetowa' ;
int wynik = str1. porównywać ( str2 ) ;
Jeśli ( wynik < 0 )
{
cout << „Ciąg 1 jest leksykograficznie mniejszy niż Ciąg 2”. << koniec ;
}
powrót 0 ;
}
Jaka jest różnica między metodą C++ String == i Compare().
Kluczowe różnice między metodą porównania() a operatorem == są wymienione poniżej:
porównywać() | == Operator |
---|---|
Zwraca wartość całkowitą | Zwraca wartość logiczną |
Wymaga takiej samej długości porównywanych łańcuchów, aby uzyskać dokładne wyniki | Porównuje całe ciągi znak po znaku |
Może wykonywać wiele operacji w zależności od argumentów | Może wykonać tylko jedną operację |
Wykonuje leksykograficzne porównanie ciągów znak po znaku | Wykonuje proste porównanie całych ciągów |
Wykonuje ekstrakcję ciągów słowo po słowie | Wykonuje porównanie ciągów znak po znaku |
Wniosek
C++ to potężny język programowania, który oferuje możliwości manipulacji ciągami znaków, w tym możliwość porównywania ciągów przy użyciu „ == ” operatora lub „ porównywać() ' metoda. Obie metody mają wyraźne różnice, które wpływają na wydajność kodu, a zrozumienie, kiedy używać każdej z nich, może pomóc programistom w pisaniu wydajniejszego kodu.