Kā ieviest zvanu ar atsauci C ++



Šis raksts sniegs jums detalizētas zināšanas par zvanu pēc atsauces C ++ ar ieviešanu un to, kā tas atšķiras no zvana pēc vērtības.

Darbs ar C ++ nav grūts uzdevums, ja jums jau ir fons C, jo abiem ir daudz kopīgu jēdzienu. Tomēr C ++ ir daži jēdzieni, kas neietilpst C paradigmā. Šajā atsauces uzaicinājumā rakstā C ++ mēs runāsim par vienu šādu jēdzienu, kas ir atsauces mainīgie un tā lietojumi šādā secībā:

šefpavārs vs ansible vs marionete

Atsauces mainīgie

C ++ dod mums jauna veida mainīgos, ti, atsauces mainīgos. Mēs varam iedomāties atsauces mainīgo kā sākotnējā mainīgā segvārdu. Tieši tā ir atsauces mainīgā precīza funkcionalitāte vienā rindā.





Piemēram, ja jūsu vārds ir Harisons, bet mājās, jūsu ģimenes locekļi jūs sauc par Hariju. Tagad aplūkosim dažas atsauces mainīgo detaļas. Šāda veida mainīgo deklarēšana un izmantošana atšķiras no parastajiem mainīgajiem lielumiem, kurus mēs izmantojam, bet ļoti līdzīgi rādītāju mainīgajiem.

Sintakse:



int Sveiki = 1 int * ptr int & Pasaule = Sveiki

Kad mēs izveidojam mainīgo “Hello”, kas satur vērtību “1”, vērtības “1” sāpināšanai tiek izmantots atmiņas segments, šī segmenta nosaukums būs “Hello”, un šī segmenta adrese būs, piemēram, kāda hex vērtība.0x64. kad mēs rakstāmint& Pasaule = SveikiTiek izveidots mainīgais ‘pasaule’, kas norāda uz to pašu atmiņas vietu.

Iekļaujot līniju World ++, tiks veiktas izmaiņas adresē 0x64, tas nozīmē, ka mainīsies arī mainīgā ‘Hello’ vērtība. Daži varētu norādīt, kā ir atsauces mainīgie, kas atšķiras no rādītāju mainīgajiem lielumiem, kurus mēs apspriedīsim šī ziņojuma otrajā daļā.

Zvans pēc vērtības un zvans pēc atsauces C ++

Zvans pēc vērtības: Zvans pēc vērtības ir plaši izmantota metode. Visbiežāk izmantosiet zvana pēc vērtības pieeju, jo nevēlaties, lai mainītos mainīgo lielumu sākotnējās vērtības. Tāpēc, lai izsauktu funkciju, mēs izmantojām zvana pēc vērtības metodi, tiek nodotas tikai mainīgo vērtības. Tas tiek panākts, atmiņā izveidojot fiktīvus mainīgos.



#include, izmantojot vārdu vietas std void add (int a, int b) {a = a + 10 b = b + 10 cout<<'Value of a = '<  Zvans pēc vērtības C ++

kā pārveidot par bināru pitonā

No iepriekš minētā attēla mēs varam redzēt, ka, tiklīdz mēs saucam funkciju add (), x un y mainīgo lielumi tiek kopēti uz mainīgajiem a un b. A un b ir fiktīvie mainīgie.

Zvans ar atsauci: Tagad parunāsim par zvanu, izmantojot atsauces metodi. Šajā metodē atsevišķi manekeni mainīgie netiek izveidoti, metodei tiek nodota atsauce uz jau esošu mainīgo. Šī atsauce norāda uz to pašu atmiņas vietu, tāpēc atsevišķas kopijas netiek veidotas atmiņā. Šeit ir svarīgi atzīmēt, ka atsauces mainīgajos mainītās izmaiņas tiek atspoguļotas manekena mainīgajā.

#include izmantojot nosaukumvietu std void add (int & a, int & b) {a = a + 10 b = b + 10 cout<<'Value of a = '< int & min (int & a, int & b) {ja (a 

Kā redzam, iepriekš minētā funkcija izskatās atšķirīga salīdzinājumā ar parastajām funkcijām, jo ​​atgriešanās veids ir ‘int &’. Šī funkcija atgriež atsauci uz a vai b atkarībā no nosacījuma. Šeit ir svarīgi atzīmēt, ka vērtībasnetiek atgriezti.

Ja mēs izsauksim funkciju min (x, y) = 10. 10 tiks piešķirti x, ja tas ir minimums, vai y, ja y ir minimāls.

Zvans ar atsauci Vs Pointer

Visos mūsu piemēros mēs redzējām, ka mēs vienmēr esam piešķīruši vērtību izveidotajam atsauces mainīgajam, jo ​​atsauces mainīgie nevar būt NULL, savukārt rādītāju mainīgie var būt NULL un var izraisīt negaidītas kļūdas.

funkcijas veids kvl

Atsauces mainīgos nevar atkārtoti piešķirt, savukārt rādītāju mainīgie var norādīt uz kādu citu mainīgo vēlāk programmā.

Rādītāja mainīgajam ir noteikta mainīgā adreses vērtība, bet atsauces mainīgā adrese ir tāda pati kā mainīgajam, uz kuru tas attiecas.

Ar to mēs esam nonākuši pie šī aicinājuma ar atsauci C ++ rakstā. Es ceru, ka jūs sapratāt, kā zvans tiek īstenots dažādos veidos pēc vērtības un atsauces un kā tie abi atšķiras.

Ja vēlaties uzzināt vairāk, iepazīstieties ar Autors: uzticams tiešsaistes mācību uzņēmums Edureka. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts, lai apmācītu jūs gan galvenajiem, gan uzlabotajiem Java jēdzieniem kopā ar dažādiem Java ietvariem, piemēram, Hibernate & Spring.

Vai mums ir jautājums? Lūdzu, pieminējiet to šī emuāra komentāru sadaļā, un mēs sazināsimies ar jums pēc iespējas ātrāk.