Paano Ipapatupad ang Tawag sa pamamagitan ng Sanggunian sa C ++



Magbibigay sa iyo ang artikulong ito ng isang detiled na kaalaman sa Tawag sa pamamagitan ng Sanggunian sa C ++ na may Mga Pagpapatupad at kung paano ito naiiba mula sa Tawag ayon sa Halaga.

Ang pagtatrabaho sa C ++ ay hindi isang mahirap na gawain kung mayroon ka nang background sa C dahil pareho silang nagbabahagi ng mga toneladang konsepto sa bawat isa. Ngunit, ang C ++ ay may ilang mga konsepto na hindi bahagi ng tularan ng C. Sa ganitong Call by Reference sa artikulong C ++, pag-uusapan natin ang tungkol sa isang tulad ng konsepto na mga variable ng sanggunian at mga aplikasyon nito sa sumusunod na pagkakasunud-sunod:

Mga variable ng sanggunian

Binibigyan kami ng C ++ ng isang bagong uri ng variable ie isang variable ng sanggunian. Maaari kaming mag-isip ng isang variable ng sanggunian bilang isang palayaw para sa aming orihinal na variable. Iyon lang ang eksaktong pag-andar ng isang variable ng sanggunian sa isang linya.





pagkakaiba sa pagitan ng nagpapatupad at umaabot

Halimbawa, kung ang iyong pangalan ay Harrison ngunit sa bahay, tinawag ka ng mga miyembro ng iyong pamilya na Harry. Ngayon dumaan tayo sa ilang mga detalye ng mga variable ng sanggunian. Ang deklarasyon at paggamit ng ganitong uri ng variable ay magkakaiba mula sa karaniwang mga variable na ginagamit namin ngunit halos magkatulad sa mga variable ng pointer.

Syntax:



int Hello = 1 int * ptr int & World = Kumusta

Kapag lumikha kami ng isang variable na 'Kamusta' na naglalaman ng halagang '1', isang segment ng memorya ang ginagamit upang saktan ang halagang '1' ang pangalan ng segment na ito ay magiging 'Kamusta' at ang address ng segment na ito ay magiging ilang hex na halaga halimbawa.0x64. kapag nagsusulat kamiint& World = KumustaAng variable na 'World' ay nilikha na tumuturo patungo sa parehong lokasyon ng memorya.

Ang pagsasama sa linya ng World ++ ay gagawa ng mga pagbabago sa address na 0x64 nangangahulugan ito na ang halaga ng variable na 'Hello' ay magbabago din. Maaaring ipahiwatig ng ilan na kumusta ang mga variable ng sanggunian ay naiiba mula sa mga variable ng pointer na tatalakayin namin sa huling bahagi ng post na ito.

Tumawag ayon sa Halaga at Tumawag ayon sa Sanggunian sa C ++

Tumawag ayon sa Halaga: Ang tawag ayon sa Halaga ay isang malawakang ginagamit na pamamaraan. Karamihan sa mga oras na gagamitin mo ang tawag ayon sa diskarte sa halaga dahil hindi mo nais na mabago ang iyong mga orihinal na halaga ng mga variable. Samakatuwid ginamit namin ang tawag sa pamamagitan ng pamamaraan ng halaga upang tumawag sa isang pagpapaandar, ang mga halaga lamang ng mga variable ang naipasa. Nakamit ito sa pamamagitan ng paglikha ng mga variable ng dummy sa memorya.



# isama ang paggamit ng namespace std void add (int a, int b) {a = a + 10 b = b + 10 cout<<'Value of a = '<  Tumawag ayon sa Halaga sa C ++

Mula sa imahe sa itaas, maaari nating makita na sa lalong madaling tawagin natin ang add () na pagpapaandar ang mga halaga ng x at y variable ay kinopya sa mga variable a at b. Ang A at b ay mga variable ng dummy.

Tumawag sa pamamagitan ng Sanggunian: Ngayon, pag-usapan natin ang tungkol sa tawag sa pamamagitan ng pamamaraang sanggunian. Sa pamamaraang ito ang magkahiwalay na variable ng dummy ay hindi nilikha, isang sanggunian ng isang mayroon nang variable ay naipasa sa pamamaraan. Ang sanggunian na ito ay tumuturo sa parehong lokasyon ng memorya samakatuwid ang magkakahiwalay na mga kopya ay hindi ginawa sa memorya. Ang mahalagang puntong dapat tandaan dito ay ang mga pagbabagong nagawa sa mga variable na sanggunian ay makikita sa variable ng dummy.

pl sql tutorial para sa mga nagsisimula na may mga halimbawa
# isama ang paggamit ng namespace std void add (int & a, int & b) {a = a + 10 b = b + 10 cout<<'Value of a = '< int & min (int & a, int & b) {kung (a 

Tulad ng nakikita natin na ang pag-andar sa itaas ay mukhang naiiba kumpara sa normal na mga pag-andar dahil ang uri ng pagbabalik ay 'int &'. Ang pagpapaandar na ito ay nagbabalik ng isang sanggunian sa a o b depende sa kondisyon. Ang mahalagang puntong dapat tandaan dito ay ang mga halagaay hindi naibalik.

Kung tatawagin natin ang pagpapaandar na min (x, y) = 10. 10 ay itatalaga sa x kung ito ay minimum o to y kung ang y ay minimum.

Tumawag sa pamamagitan ng Sanggunian Vs Pointer

Sa lahat ng aming mga halimbawa nakita namin palagi kaming nakatalaga ng isang halaga sa variable ng sanggunian na nilikha namin dahil ang mga variable ng sanggunian ay hindi maaaring maging Null habang ang mga variable ng pointer ay maaaring maging Null at maaaring maging sanhi ng hindi inaasahang mga error.

mysql_fetch_array

Ang mga variable ng sanggunian ay hindi maaaring maitalaga muli habang ang mga variable ng pointer ay maaaring magturo sa ilang iba pang variable sa paglaon ng programa.

Ang isang variable ng pointer ay nagtataglay ng halaga ng address ng isang partikular na variable habang ang address ng variable na sanggunian ay kapareho ng variable na tinukoy nito.

Sa pamamagitan nito, natapos namin ang tawag na Ito Sa pamamagitan ng Sanggunian sa artikulong C ++. Inaasahan kong nakakuha ka ng pag-unawa sa iba't ibang pagpapatupad ng tawag sa pamamagitan ng Halaga at sanggunian at kung paano sila magkakaiba.

Kung nais mong matuto nang higit pa, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo upang sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na ito at babalikan ka namin sa lalong madaling panahon.