Rādītājs pret atsauci: atšķirība un salīdzinājums

C un C++ ir visbiežāk lietotās programmēšanas valodas, jo tās ir pamata iesācēju durvis uz programmēšanas pasauli. Norādes un atsauces ir dažas no visnoderīgākajām iespējām, ko šīs valodas nodrošina. Rādītāji tiek izmantoti C un C++, un atsauces tiek atbalstītas C++, Python un citās valodās.

Atslēgas

  1. Rādītāji saglabā mainīgo vai objektu atmiņas adreses, savukārt atsauces darbojas kā esošo mainīgo aizstājvārdi.
  2. Rādītājus var atkārtoti piešķirt dažādām atmiņas adresēm, savukārt atsauces nevar mainīt pēc inicializācijas.
  3. Rādītājiem ir nepieciešama skaidra atsauces atcelšana, lai piekļūtu vērtībai, uz kuru tās norāda, savukārt atsauces var izmantot tieši, tāpat kā sākotnējo mainīgo.

Rādītājs pret atsauci

Rādītājs ir mainīgais, kas saņem cita mainīgā lieluma atmiņas adresi, un to programmā var inicializēt vairākas reizes atkarībā no tā, cik reizes tas ir nepieciešams. Atsauce ir alternatīvs programmas mainīgais, un to var inicializēt tikai vienu reizi visā programmā.

Rādītājs pret atsauci

Rādītājs ir mainīgais, kura vērtība ir cita mainīgā adrese vai atrašanās vieta. Tos var inicializēt jebkurā programmas vietā ar tādiem operatoriem kā “*” un “->”. Rādītāja mainīgo var arī padarīt par nulli, un tie atbalsta arī atkārtotu inicializāciju. Pamatdatu tips deklarē norādes, kam seko zvaigznīte un rādītāja nosaukums. 

Atsauce ir mainīgais ar citu nosaukumu jau smalkam programmas mainīgajam. Tiklīdz tiek izveidots atsauces mainīgais, tas ir jāinicializē. Tas veido aizstājvārdu citam mainīgajam. Tiek izmantots operators & dizains atsauces. Tos veido bāzes datu tips, kam seko “&” un mainīgā nosaukums.

Salīdzināšanas tabula

Salīdzināšanas parametriRādītājsatsauces
DefinīcijaMainīgo, kurā ir cita mainīgā atmiņas adrese, sauc par rādītāja mainīgo.Atsauce ir aizstājvārds uz citu mainīgo, atsauce uz to.
Null atsauceRādītājam var piešķirt nulles vērtību.Atsauces mainīgajam nav piešķirtas nulles vērtības. 
sintakseDatu tips *PointerName; Kur Datatype ir bāzes datu tips un PointerName ir deklarētā rādītāja nosaukums.Datu tips &ReferenceName = OtherVariable; Kur ReferenceName ir atsauces nosaukums un OtherVariable ir mainīgais, uz kuru tiek atsaukta.
InicializācijasIr iespējams izveidot uninicializētus rādītājus.Atsauces nekad nevar izveidot neinicializētā
Atkārtoti inicializācijaRādītāja mainīgos pēc vajadzības programmā var inicializēt atkal un atkal.Atsauces mainīgo var inicializēt tikai vienu reizi programmā.

Kas ir rādītājs?

Īsumā, rādītājs ir mainīgais, kas satur jebkura cita programmas mainīgā lieluma atmiņas vietu vai adresi. Rādītāji darbojas C un C++ valodās. Rādītāja mainīgais saglabā rādītāja mainīgā adreses atrašanās vietu. Rādītāja mainīgos var deklarēt un pēc tam inicializēt ar mainīgo, kura adrese ir jānosaka.

Arī lasīt:  QTP vs LoadRunner: atšķirība un salīdzinājums

Turklāt tiem ir skaidrība, jo vesela skaitļa rādītājs var saturēt tikai vesela skaitļa mainīgā adresi. Rādītājiem ir skaidrs deklarēšanas veids. Piemēram, int *point ir rādītājs uz mainīgo, kura tips ir int, un double *ABC ir rādītājs uz mainīgo ar datu tipu double. Tas pats jēdziens attiecas arī uz citiem datu veidiem. Tādējādi rādītājs tiek deklarēts šādā veidā:

int *rādītāja mainīgais;

Pēc rādītāja deklarēšanas rādītāja mainīgais tiek piešķirts mainīgajam, kura adrese ir jānosaka. Iepriekš minētajā deklarācijas paziņojumā tiek izmantots rādītājs, kas saglabās vesela skaitļa mainīgā vērtību. 

rādītāja mainīgais = &a;

Šeit a ir vesels skaitlis mainīgais, kas tiek izmantots programmas otrā pusē, kuras adrese ir saglabāta mainīgā rādītājā. Rādītāji arī sniedz atbildība lai tiktu atkārtoti inicializēts. To vērtības var mainīt atbilstoši viņu vajadzībām. 

Kas ir atsauce?

Atsauces mainīgais ir aizstājvārds citam mainīgajam. Citiem vārdiem sakot, mainīgais, kas attiecas uz citu programmas pastāvošo mainīgo, tiek uzskatīts par atsauces mainīgo.

Tiem ir ierobežojums, jo tos nevar piešķirt nulles vērtībai, un tos nevar deklarēt, tie ir tikai inicializēti. Pēc atsauces izveidošanas mainīgajam var piekļūt pēc atsauces nosaukuma vai tā sākotnējā nosaukuma. Atsauces tiek tieši inicializētas. Piemērs, 

int &ref = var;

Šeit ref ir atsauces mainīgā nosaukums, un tas norāda uz mainīgo var, kas ir inicializēts citā programmas daļā. Kad tiek izdrukātas ref un var vērtības, tiek novērots, ka ref un var ir vienādas vērtības. Rādītāji ir izdevīgi atmiņas taupīšanai, jo, kad tie tiek nodoti funkcijai kā argumenti, tie izmanto sākotnējo atmiņas vietu katram funkcijas izsaukumam.

Arī lasīt:  Frontend vs aizmugure: atšķirība un salīdzinājums

Atsauces mainīgie nenodrošina atkārtotu inicializāciju, un tie ir tikai inicializēti un unikāli. Atsauces nenorāda uz mainīgo, saglabājot tā adresi atsevišķā atmiņas vietā. Vienkārši sakot, atsauces mainīgais ir alternatīvs esoša mainīgā nosaukums. Tie ir tikai aizstājvārdi citā mainīgā nosaukumā, uz kuru jāatsaucas.

Galvenās atšķirības starp rādītāju un atsauci

  1. Rādītāja mainīgais tiek norādīts, apejot ar atsauci, savukārt atsauces mainīgais tiek norādīts, apejot pēc vērtības.
  2. Norādes atbalsta iespēju norādīt uz citiem rādītājiem, savukārt atsaucēm šīs priekšrocības trūkst. Atsauces mainīgais nevar norādīt uz vairākiem mainīgajiem.
  3. Norādes atbalsta izmantošanu aritmētika operatori un darbojas kā operandi, savukārt atsauces mainīgie nevar būt saderīgi ar aritmētiskām darbībām.
  4. Rādītāja mainīgā lielums un atmiņas adrese ir stekā, savukārt atsauces mainīgajam ir sākotnējā mainīgā atmiņas adrese, taču tas arī aizņem nedaudz vietas kaudzē. 
  5. Rādītājiem ir deklarācijas priekšrocības, savukārt atsauces tiek tikai inicializētas.
Atsauces
  1. https://link.springer.com/article/10.1023/A:1015362608943
  2. https://dl.acm.org/doi/pdf/10.1145/99583.99599

Pēdējo reizi atjaunināts: 11. gada 2023. jūnijā

1. punkts
Viens pieprasījums?

Esmu pielicis tik daudz pūļu, rakstot šo emuāra ierakstu, lai sniegtu jums vērtību. Tas man ļoti noderēs, ja apsverat iespēju to kopīgot sociālajos medijos vai ar draugiem/ģimeni. DALĪŠANĀS IR ♥️

12 domas par tēmu “Rādītājs pret atsauci: atšķirība un salīdzinājums”

  1. C un C++ ir visbiežāk lietotās programmēšanas valodas, jo tās ir pamata iesācēju durvis uz programmēšanas pasauli. Norādes un atsauces ir dažas no visnoderīgākajām iespējām, ko šīs valodas nodrošina. Rādītāji tiek izmantoti C un C++, un atsauces tiek atbalstītas C++, Python un citās valodās.

    atbildēt

Leave a Comment

Vai vēlaties saglabāt šo rakstu vēlākam laikam? Noklikšķiniet uz sirds apakšējā labajā stūrī, lai saglabātu savu rakstu lodziņā!