Aký je rozdiel medzi C++ String == a metódou Compare().

Aky Je Rozdiel Medzi C String A Metodou Compare



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.