Kakšna je razlika med int in int& v C++?

Kaksna Je Razlika Med Int In Int V C



V programskem jeziku so podatki shranjeni v glavnem pomnilniku prek spremenljivk, tako da jih lahko pridobimo, dostopamo in izvajamo nekatere operacije na podatkih. C++ ima tipe podatkov, ki se uporabljajo za dodeljevanje podatkov v pomnilniku z uporabo spremenljivk. Ti tipi podatkov povedo vrsto podatkov in so vnaprej določeni v prevajalniku C++. Prav tako lahko naredimo referenco enega podatka z drugim podatkom v pomnilniku z uporabo & operator v C++. Ta članek bo nekoliko osvetlil naslednje točke.

Pokažimo zgornje poizvedbe eno za drugo.







Kaj je int v C++?

V C++ je int podatkovni tip, ki se nanaša samo na podatke celoštevilskega tipa. Int je rezervirana ključna beseda v C++, ki ima samo celoštevilsko vrednost, da jo lahko shranimo v pomnilnik in izvajamo nekatere operacije. V C++ uporabljamo podatkovni tip int za deklaracijo vseh pozitivnih, negativnih in ničelnih vrednosti v našem programu.



Celoštevilska spremenljivka zavzame 4 bajte v pomnilniku. V C++ je deklaracija spremenljivke tipa celo število omenjena spodaj:



int a = 10 ;





Zgoraj je ustvarjena spremenljivka tipa celo število z imenom a in mesto v glavnem pomnilniku, ki ima shranjeno vrednost 10.

Kaj je int& v C++?

Int& pomeni sklic na spremenljivko tipa celo število. To pomeni, da bo pokazal na spremenljivko tipa celega števila, ki že obstaja v pomnilniku. Referenčno spremenljivko je treba inicializirati, da se poveže z realnim elementom istega tipa, ko je deklarirana. Sledi inicializacija int&:



int a = 5 ;
int & ref_var = a;

V tem primeru je ref_var je sklicevanje na a . Vsaka operacija na ref_var predstavlja dejanje na a spremenljivka. Na primer, če tipkamo ref_var= 25; vrednost a bo spremenjena na 25, ker ref_var spremenljivka je samo vzdevek za a spremenljivka.

Primeri: razlika med int in int& v C++

Če želite razumeti razliko med int in int&, si oglejte spodnje primere:

#include
uporaba imenskega prostora std;

int main ( ) {
int a = 2 ; // ustvarite celoštevilsko spremenljivko a in ji dodelite vrednost 2
int b = a; // ustvarite kopijo a in jo dodelite b
a = 4 ; // spremenite vrednost a v 4
cout << a << endl; // izhod: 4
cout << b << endl; // izhod: 2
vrnitev 0 ;
}

Izhod

V tej zgornji kodi spreminjanje vrednosti a ne spremeni vrednosti b , Ker b je samo kopija a ki je definiran na začetku glavne funkcije.

#include
uporaba imenskega prostora std;

int main ( ) {
int a = 2 ; // ustvarite celoštevilsko spremenljivko a in ji dodelite vrednost 2
int & ref_var = a; // ustvari referenco na a
a = 4 ; // spremenite vrednost a v 4
cout << a << endl; // izhod: 4
cout << ref_var << endl; // izhod: 4
vrnitev 0 ;
}

Izhod

V tem primeru ref_var je sklicevanje na a . Ko je vrednost a se spremeni vrednost ref_var se prav tako spremeni, ker se oba nanašata na isto vrednost.

Ključne razlike med int in int& v jeziku C++

Naslednja tabela pojasnjuje nekatere splošne razlike med int in int&:

int int&
Podatkovni tip, ki je primitiven in ima številsko vrednost, je int. int& je dostopna točka do numerične spremenljivke, ki služi kot vzdevek za dejansko spremenljivko.
Uporaba int vpliva na realno vrednost spremenljivke. Int& je vzdevek za celo število, ki ga je mogoče uporabiti za spremembo dejanske spremenljivke.
Spremenljivka tipa int sprejme novo dodelitev pomnilnika. Int& ne dodeli novega pomnilnika, saj uporablja obstoječi spremenljivi pomnilnik.
Obseg in trajanje celoštevilskih spremenljivk sta neodvisna. Obseg in trajanje int& nista določena. Dogajajo se le, ko se pojavlja referenčna spremenljivka int, na katero se nanašajo.

Zaključek

Tako kot drugi programski jeziki tudi C++ ponuja številne funkcije, ki so že definirane v tolmaču C++. Ena izmed priljubljenih vrst podatkov je int podatkovni tip, ki sprejema celoštevilske podatke, in int& je referenca spremenljivke int, ki neposredno spreminja int spremenljivke. Glavna razlika med int in int& is int deklarira novo spremenljivko, medtem ko int& je referenčna spremenljivka, ki spreminja deklarirane spremenljivke int vrsta.