Kaip įgyvendinti iškvietimą naudojant nuorodą C ++

Šis straipsnis suteiks jums išsamią informaciją apie skambučius pagal nuorodą C ++ versijoje su įdiegimais ir kuo jis skiriasi nuo skambučio pagal vertę.

Darbas su C ++ nėra sunki užduotis, jei jau turite C foną, nes jie abu dalijasi tonomis sąvokų. Tačiau C ++ turi keletą sąvokų, kurios nėra C paradigmos dalis. Šiame kvietime pagal nuorodą C ++ straipsnyje kalbėsime apie vieną tokią sąvoką, kuri yra pamatiniai kintamieji ir jos taikymas tokia tvarka:

Pamatiniai kintamieji

C ++ suteikia mums naujo tipo kintamuosius, ty referencinį kintamąjį. Galime galvoti apie referencinį kintamąjį kaip apie pradinio kintamojo slapyvardį. Tai yra tikslus referencinio kintamojo funkcionalumas vienoje eilutėje.



Pavyzdžiui, jei jūsų vardas Harrisonas, bet namuose, jūsų šeimos nariai vadina jus Hariu. Dabar apžvelkime keletą detalių kintamųjų. Šio tipo kintamųjų deklaravimas ir naudojimas skiriasi nuo įprastų kintamųjų, kuriuos naudojame, tačiau labai panašūs į rodyklinius kintamuosius.

Sintaksė:

int Sveiki = 1 int * ptr int & Pasaulis = Sveiki

Kai sukursime kintamąjį „Hello“, kurio reikšmė bus „1“, reikšmės „1“ sužalojimui naudojamas atminties segmentas, šio segmento pavadinimas bus „Hello“, o šio segmento adresas bus, pavyzdžiui, kai kurios hex vertės.0x64. kai mes rašometarpt& Pasaulis = SveikiSukuriamas kintamasis „Pasaulis“, kuris nukreiptas į tą pačią atminties vietą.

Įtraukus „World ++“ eilutę bus pakeisti 0x64 adresai, tai reiškia, kad kinta ir „Hello“ vertė. Kai kurie gali nurodyti, kaip yra referenciniai kintamieji, kitokie nei rodykliniai kintamieji, kuriuos aptarsime antroje šio įrašo dalyje.

Skambinkite pagal vertę ir skambinkite pagal nuorodą C ++

Skambinkite pagal vertę: Skambinimas pagal vertę yra plačiai naudojamas metodas. Dažniausiai naudosite skambučio pagal vertę metodą, nes nenorite, kad būtų pakeistos pradinės kintamųjų vertės. Taigi funkcijai iškviesti naudojome „call by value“ metodą. Perduodamos tik kintamųjų reikšmės. Tai pasiekiama sukūrus manekeno kintamuosius atmintyje.

#include naudojant vardų sritį std void add (int a, int b) {a = a + 10 b = b + 10 cout<<'Value of a = '<  Skambinkite pagal vertę C ++

Iš aukščiau esančio paveikslėlio galime pamatyti, kad kai tik paskambiname funkcija add (), x ir y kintamųjų reikšmės nukopijuojamos į kintamuosius a ir b. A ir b yra fiktyvūs kintamieji.

Skambinkite pagal nuorodą: Dabar pakalbėkime apie skambutį pagal metodą. Taikant šį metodą atskiri manekeno kintamieji nesukuriami, metodui perduodama nuoroda į jau esamą kintamąjį. Ši nuoroda nurodo tą pačią atminties vietą, todėl atmintyje nedaromos atskiros kopijos. Svarbu atkreipti dėmesį į tai, kad pamatinių kintamųjų pakeitimai atsispindi manekeno kintamajame.

#include naudojant vardų sritį std void add (int & a, int & b) {a = a + 10 b = b + 10 cout<<'Value of a = '< int & min (int & a, int & b) {jei (a 

Kaip matome, aukščiau nurodyta funkcija atrodo kitaip, palyginti su įprastomis funkcijomis, nes grąžinimo tipas yra „int &“. Ši funkcija grąžina nuorodą į a arba b, priklausomai nuo būklės. Svarbu atkreipti dėmesį į tai, kad vertybėsnėra grąžinami.

Jei iškviečiame funkciją min (x, y) = 10. 10 bus priskirtas x, jei jis yra mažiausias, arba y, jei y yra minimalus.

Skambinkite nuoroda „Vs pointer“

Visuose savo pavyzdžiuose matėme, kad mes visada priskyrėme vertę savo sukurtam referenciniam kintamajam, nes pamatiniai kintamieji negali būti NULL, o žymeklio kintamieji gali būti NULL ir sukelti netikėtų klaidų.

Referencinių kintamųjų negalima priskirti iš naujo, o rodyklių kintamieji gali nukreipti į kitą kintamąjį vėliau programoje.

Rodyklinis kintamasis turi konkretaus kintamojo adreso vertę, o referencinio kintamojo adresas yra tas pats, kaip kintamojo, į kurį jis kreipiasi.

Tuo mes baigėme šį kvietimą pagal nuorodą C ++ straipsnyje. Tikiuosi, kad supratote, kaip įvairiai kvietimas įgyvendinamas pagal „Value“ ir „reference“ ir kuo jie abu skiriasi.

Jei norite sužinoti daugiau, patikrinkite autorius - patikima internetinė mokymosi įmonė „Edureka“. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai skirti mokyti jus tiek pagrindinėms, tiek pažangesnėms „Java“ koncepcijoms kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio komentarų skiltyje, ir mes kuo greičiau susisieksime su jumis.