Kako izvesti klic s sklicem v jeziku C ++



Ta članek vam bo zagotovil podrobno znanje o klicu po referenci v C ++ z izvedbami in o tem, kako se razlikuje od klica po vrednosti.

Delo s C ++ ni težka naloga, če že imate znanje v jeziku C, saj si oba delita veliko konceptov. Toda C ++ ima nekaj konceptov, ki niso del paradigme C. V tem razpisu s sklicem v članku C ++ bomo govorili o enem takem konceptu, ki je referenčne spremenljivke in njegove aplikacije v naslednjem vrstnem redu:

Referenčne spremenljivke

C ++ nam daje nov tip spremenljivke, tj. Referenčno spremenljivko. Referenčno spremenljivko si lahko predstavljamo kot vzdevek za prvotno spremenljivko. To je to, kar je natančna funkcionalnost referenčne spremenljivke v eni vrstici.





Če vam je na primer ime Harrison, vendar ste doma, vas družinski člani pokličejo Harry. Zdaj pa si oglejmo nekaj podrobnosti referenčnih spremenljivk. Izjava in uporaba te vrste spremenljivk se razlikujeta od običajnih spremenljivk, ki jih uporabljamo, vendar zelo podobne spremenljivkam kazalcev.

Sintaksa:



int Pozdravljeni = 1 int * ptr int & Svet = Pozdravljeni

Ko ustvarimo spremenljivko 'Pozdravljeni', ki vsebuje vrednost '1', se segment pomnilnika uporablja za bolečino vrednosti '1', ime tega odseka bo 'Pozdravljeni', naslov tega segmenta pa bo na primer šestnajstiška vrednost0x64. ko pišemoint& Svet = PozdravljeniUstvari se spremenljivka ‘World’, ki kaže na isto pomnilniško mesto.

Vključitev vrstice World ++ bo spremenila naslov 0x64, kar pomeni, da se bo spremenila tudi vrednost spremenljivke 'Hello'. Nekateri bi lahko poudarili, kako kako je referenčne spremenljivke, ki se razlikujejo od spremenljivk kazalcev, o katerih bomo razpravljali v zadnjem delu tega prispevka.

Pokliči po vrednosti in pokliči po referenci v jeziku C ++

Pokliči po vrednosti: Call by Value je pogosto uporabljena metoda. Večino časa boste uporabili pristop klic po vrednosti, saj ne želite, da se spremenijo vaše prvotne vrednosti spremenljivk. Zato smo za klicanje funkcije uporabili metodo klica z vrednostjo, posredujejo se le vrednosti spremenljivk. To dosežemo z ustvarjanjem navideznih spremenljivk v pomnilniku.



#include using namespace std void add (int a, int b) {a = a + 10 b = b + 10 cout<<'Value of a = '<  Pokliči po vrednosti v jeziku C ++

Iz zgornje slike lahko vidimo, da takoj, ko pokličemo funkcijo add (), se vrednosti spremenljivk x in y prekopirata v spremenljivki a in b. A in b sta navidezni spremenljivki.

Pokliči po referenci: Zdaj pa pogovorimo o klicu z referenčno metodo. V tej metodi se ne ustvarijo ločene navidezne spremenljivke, metoda pa se prenese na že obstoječo spremenljivko. Ta referenca kaže na isto lokacijo pomnilnika, zato ločene kopije v pomnilniku niso narejene. Pomembno je omeniti, da se spremembe v referenčnih spremenljivkah odražajo v navidezni spremenljivki.

#include using namespace std void add (int & a, int & b) {a = a + 10 b = b + 10 cout<<'Value of a = '< int & min (int & a, int & b) {if (a 

Kot lahko vidimo, je zgornja funkcija videti drugače v primerjavi z običajnimi funkcijami, saj je vrsta vrnitve 'int &'. Ta funkcija vrne sklic na a ali b, odvisno od stanja. Pomembno je omeniti, da so vrednostiniso vrnjeni.

Če pokličemo funkcijo min (x, y) = 10. 10 bo dodeljeno x, če je najmanjša, ali y, če je najmanjša.

Pokliči po referenčnem kazalcu Vs

V vseh naših primerih, ki smo jih videli, smo referenčni spremenljivki, ki smo jo ustvarili, vedno dodelili vrednost, saj referenčne spremenljivke ne morejo biti NULL, medtem ko so spremenljivke kazalcev NULL in lahko povzročijo nepričakovane napake.

kaj je opozorilo v javascriptu

Referenčnih spremenljivk ni mogoče dodeliti, medtem ko kazalne spremenljivke lahko kažejo na drugo spremenljivko kasneje v programu.

Kazalec spremenljivke vsebuje naslovno vrednost določene spremenljivke, naslov referenčne spremenljivke pa je enak naslovu spremenljivke, na katero se sklicuje.

S tem smo prišli do konca tega razpisa po referenci v članku C ++. Upam, da ste razumeli različne izvedbe klica z vrednostjo in referenco ter kako se oba razlikujeta.

Če želite izvedeti več, si oglejte Edureka, zaupanja vredno podjetje za spletno učenje. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je zasnovan tako, da vas usposobi za temeljne in napredne koncepte Java, skupaj z različnimi Java okviri, kot sta Hibernate & Spring.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje tega spletnega dnevnika, mi pa se vam bomo javili v najkrajšem možnem času.