Funkcija charAt() je dragocena in zelo uporabna za dostop do znakov v nizu in upravljanje z njimi. Toda kako lahko izvedemo isto funkcijo v C++? Funkcija string::at() omogoča enako funkcionalnost v programskem jeziku C++. V tem članku se bomo poglobili v delovanje funkcije string::at() s preprostimi in natančnimi primeri, ki vam bodo pomagali učinkovito razumeti delovanje funkcije string::at().
Java String CharAt()
V Javi je metoda charAt() razreda »String« zelo pogosto uporabljena in učinkovita funkcija. Ta metoda igra pomembno vlogo pri manipulaciji z nizi, saj omogoča dostop do vsakega znaka v nizu na podlagi njihovih položajev v indeksu. Razumevanje sintakse in funkcionalnosti charAt() je bistveno za učinkovito ravnanje z nizi v programih Java. Sledi sintaksa Javine funkcije charAt():
Sintaksa:
javnosti char charAt ( int kazalo )
Funkcija charAt() sprejme en parameter kot celo število, indeks, ki označuje položaj želenega znaka. Povratni tip te funkcije je char. Oglejmo si primer funkcije charAt(), da razumemo, kako hitro deluje:
javni razred Main {
javnosti statična praznina glavni ( Vrvica [ ] args ) {
Niz Char_at = 'Testiranje CharAt' ;
char charone = Char_at. charAt ( 0 ) ;
char chartwo = Char_at. charAt ( 5 ) ;
char charthree = Char_at. charAt ( 8 ) ;
Sistem. ven . println ( 'Znak pri indeksu 0: ' + charone ) ;
Sistem. ven . println ( 'Znak pri indeksu 5: ' + chartwo ) ;
Sistem. ven . println ( 'Znak pri indeksu 8: ' + charthree ) ;
}
}
V tem primeru je uporabljen niz »Testiranje CharAt« in funkcija charAt() je implementirana za pridobitev znakov na indeksih 0, 5 in 8. Ustrezni znaki »T«, »n« in »C« na podani indeksi se nato natisnejo na konzolo. Oglejte si naslednji izhodni posnetek:
Kot lahko vidite v izhodu, funkcija charAt() pridobi znake z indeksom 0, 5 in 8 in se natisnejo na konzoli. Če moramo delati v programskem jeziku C++, uporabimo funkcijo “string::at”. Podobna funkcija kot charAt() v C++ je funkcija »string::at«, ki izvaja isto funkcijo.
C++ String::at() – enakovredno funkciji Java CharAt().
V programskem jeziku C++ je funkcija string::at() enakovredna Javini charAt(). Sintaksa funkcije string::at() je naslednja:
char & str. pri ( int kazalo )Podobno kot vhod in izhod metode charAt(), funkcija str.at() sprejme celoštevilski parameter, ki predstavlja indeks znaka, ki ga je treba najti. Istemu indeksu na osnovi 0 sledi funkcija str.at(). Indeks se poveča za 1 za naslednje znake. Rezultat funkcije str.at() je tipa char, kar pomeni, da vrne char. Za ponazoritev uporabe funkcije str.at() si oglejte naslednji primer:
#include#include
uporaba imenskega prostora std ;
int glavni ( ) {
niz str = 'Testiranje CharAt' ;
char charone = str. pri ( 0 ) ;
char chartwo = str. pri ( 5 ) ;
char charthree = str. pri ( 8 ) ;
cout << 'Znak pri indeksu 0: ' << charone << konec ;
cout << 'Znak pri indeksu 5: ' << chartwo << konec ;
cout << 'Znak pri indeksu 8: ' << charthree << konec ;
vrnitev 0 ;
}
V tem primeru se odločimo za implementacijo iste kode s funkcijo str.at() v C++, ki jo implementiramo s funkcijo charAt() v Javi. Spet je ustvarjen niz »Testing CharAt« in implementirana je funkcija str.at(), da dobimo znak pri indeksih 0, 5 in 8, ki predstavljajo prvi, četrti in sedmi znak, glede na indeksiranje C++, ki temelji na 0. Znak se nato shrani v spremenljivke charone, chartwo in charthree ter se natisne na konzolo. Implementirajmo še en primer, ki podrobneje prikazuje delovanje funkcije str.at(). Oglejte si naslednjo kodo:
#includeuporaba imenskega prostora std ;
int glavni ( ) {
string strng = 'vadnica str.at()' ;
za ( int jaz = 0 ; jaz < strng. dolžina ( ) ; jaz ++ ) {
cout << 'Znak v nizu pri indeksu' << jaz << ' je = '
<< strng. pri ( jaz ) << konec ;
}
vrnitev 0 ;
}
V tem primeru deklariramo in inicializiramo nizovno spremenljivko z imenom »strng« z vrednostjo »str.at() tutorial«. Nato uporabimo zanko »za« za ponavljanje v nizu skozi vsak znak. Znotraj zanke prikažemo vsak znak niza z njegovim indeksom. Izhod tega programa prikaže vsak znak v nizu »str.at() tutorial« skupaj z njegovim ustreznim indeksom. Metoda strng.at(i) se uporablja za pridobivanje znaka pri podanem indeksu med vsako ponovitvijo zanke.
Funkcijo str.at() lahko uporabite za pridobitev indeksa določenega znaka v nizu. Funkcija str.at() vrne indeks prvega znaka, ki se ujema v nizu. Za prikaz tega izvajamo naslednji primer. Oglejte si naslednjo kodo:
#include#include
uporaba imenskega prostora std ;
int glavni ( ) {
string strng = 'vadnica str.at()' ;
za ( int jaz = 0 ; jaz < strng. velikost ( ) ; jaz ++ ) {
če ( strng. pri ( jaz ) == 't' ) {
cout << 'Indeks 't' je = ' << jaz << konec ;
odmor ;
}
}
vrnitev 0 ;
}
Ta koda C++ prikazuje program, ki išče prvo pojavitev znaka »t« v danem nizu in natisne njegov indeks. Spremenljivka niza z vrednostjo »str.at() tutorial« je deklarirana in inicializirana. Z uporabo zanke »for« ponavljamo niz skozi vsak znak, da najdemo prvo pojavitev znaka »t«.
Pogoj »if« se uporablja za primerjavo vsakega znaka v nizu z izbranim znakom, da se preveri, ali je »t«. Ko se prvi znak ujema v nizu, se indeks tega znaka natisne na konzolo in funkcija zapusti zanko z uporabo 'break'. Ta program poda indeks prve pojavitve znaka 't' v nizu. Če »t« ni najden v nizu, se bo zanka končala brez tiskanja ničesar.
Primerjava C++ String::at() z Java CharAt()
Čeprav obe funkciji, charAt() v Javi in str.at v C++, služita istemu temeljnemu namenu, je funkcija str.at() v C++ veliko hitrejša od funkcije charAt() v Javi. Omogoča dostop do znakov po indeksu in je optimalna izbira za situacije, ko postane zmogljivost kritična. Drugi omembe vreden vidik funkcije str.at() v C++ je njena učinkovitost. Razvijalcem, ki prehajajo z Jave na C++ ali delajo na projektih, ki vključujejo tako C++ kot Javo, lahko koristi razumevanje teh vidikov učinkovitosti.
Zaključek
Skratka, razumevanje manipulacije nizov C++ vključuje poznavanje funkcije string::at(), ki je alternativa Javini charAt(). Ilustrirani primeri prikazujejo praktično uporabo funkcij charAt() in str.at(), kar razvijalcem omogoča hiter in učinkovit dostop do določenih znakov. Učinkovitost funkcije str.at() v C++ dodatno poveča njeno potrebo, zaradi česar je pomembna funkcija za naloge manipulacije nizov. Ne glede na to, ali prehajate z jezika Java na jezik C++ ali nameravate izdelati zapleten projekt C++, je dobro razumevanje teh funkcij nujno za učinkovito in učinkovito ravnanje z nizi v vaših programih.