C++ je programovací jazyk, ktorý sa používa na vývoj vysokovýkonných a kvalitných aplikácií. Jednou z funkcií, ktoré C++ ponúka, je manipulácia s reťazcami, ktorá zahŕňa možnosť porovnávať reťazce a zistiť, či sú rovnaké. C++ však poskytuje dve metódy na porovnávanie reťazcov: „ == operátor “ a “ porovnať () “. Napriek svojej podobnosti majú výrazné rozdiely, ktoré môžu ovplyvniť výkon vášho kódu.
Tento tutoriál sa bude zaoberať rozdielom medzi týmito dvoma metódami, == a porovnanie () v C++.
== Operátor v C++
V C++ sa operátor double equal == používa na kontrolu, či sú tieto dve hodnoty rovnaké alebo nie. Nasleduje všeobecný formát pre použitie operátora ==:
Ak chcete použiť „ == ” operátor na porovnávanie reťazcov, všeobecný formát je nasledovný:
- Najprv musíte deklarovať dve reťazcové premenné na porovnanie.
- Potom použite „ == “ na porovnanie oboch reťazcov.
- Operátor vráti boolovskú hodnotu „ pravda alebo lož “, v závislosti od toho, či sú tieto dva reťazce rovnaké.
Tu je príklad:
#include
#include
použitím menný priestor std ;
int Hlavná ( ) {
reťazec str1 = 'Ahoj' ;
reťazec str2 = 'linux' ;
reťazec str3 = 'Ahoj' ;
ak ( str1 == str2 ) {
cout << 'Reťazec 1 a Reťazec 2 sú rovnaké' << endl ;
} inak {
cout << 'Reťazec 1 a Reťazec 2 nie sú rovnaké' << endl ;
}
ak ( str1 == str3 ) {
cout << 'Reťazec 1 a Reťazec 3 sú rovnaké' << endl ;
} inak {
cout << 'Reťazec 1 a Reťazec 3 nie sú rovnaké' << endl ;
}
vrátiť 0 ;
}
porovnávať () metóda v C++
V C++ sa metóda Compare() používa na porovnanie dvoch reťazcov znak po znaku na základe ich hodnôt ASCII a vracia celé číslo, ktoré predstavuje ich vzťah. Ak je prvý reťazec lexikograficky menší ako druhý reťazec, celočíselná hodnota vrátená touto metódou je záporná a nula, ak sú dva porovnávané reťazce identické, a ak je prvý reťazec väčší ako druhý, potom táto metóda vráti kladné číslo.
Nižšie je uvedený formát na použitie metódy Compare():
int názov_premennej = str1. porovnať ( str2 ) ;Nižšie je uvedený príklad kódu na porovnanie dvoch reťazcov pomocou metódy Compare():
#include#include
použitím menný priestor std ;
int Hlavná ( ) {
reťazec str1 = 'LinuxHint' ;
reťazec str2 = 'webová stránka' ;
int výsledok = str1. porovnať ( str2 ) ;
ak ( výsledok < 0 )
{
cout << 'Reťazec 1 je lexikograficky menší ako reťazec 2.' << endl ;
}
vrátiť 0 ;
}
Aký je rozdiel medzi reťazcom C++ == a metódou porovnania ().
Kľúčové rozdiely medzi metódou Compare() a operátorom == sú uvedené nižšie:
porovnať () | == Operátor |
---|---|
Vráti celočíselnú hodnotu | Vráti boolovskú hodnotu |
Na získanie presných výsledkov vyžaduje rovnakú dĺžku porovnávaných reťazcov | Porovná celý reťazec znak po znaku |
V závislosti od argumentov môže vykonávať viacero operácií | Môže vykonať iba jednu operáciu |
Vykonáva lexikografické porovnanie reťazcov znak po znaku | Vykoná jednoduché porovnanie celých reťazcov |
Vykonáva extrakciu reťazca slovo po slove | Vykonáva porovnanie reťazcov znak po znaku |
Záver
C++ je výkonný programovací jazyk, ktorý ponúka možnosti manipulácie s reťazcami vrátane možnosti porovnávať reťazce pomocou „ == operátor alebo porovnať () “. Obe metódy majú výrazné rozdiely, ktoré ovplyvňujú výkon kódu, a pochopenie toho, kedy použiť každú z nich, môže pomôcť vývojárom písať efektívnejší kód.