Care este diferența dintre int și int& în C++?

Care Este Diferenta Dintre Int Si Int In C



Într-un limbaj de programare, datele sunt stocate în memoria principală prin variabile, astfel încât să putem prelua, accesa și efectua unele operații asupra datelor. C++ are tipuri de date care sunt utilizate pentru a aloca date în memorie folosind variabile. Aceste tipuri de date indică tipul de date și sunt predefinite în compilatorul C++. De asemenea, putem face referința unei date cu alte date din memorie folosind & operator în C++. Acest articol va pune în lumină următoarele puncte.

Să demonstrăm interogările de mai sus una câte una.







Ce este int în C++?

În C++, un int este un tip de date care se referă doar la date de tip întreg. int este un cuvânt cheie rezervat în C++ care are doar o valoare întreagă, astfel încât să îl putem salva în memorie și să efectuăm unele operații. În C++ folosim int datatype pentru a declara orice valoare pozitivă, negativă și zero din programul nostru.



O variabilă de tip întreg ia 4 octeți în memorie. În C++ declarația variabilei de tip întreg este menționată mai jos:



int A = 10 ;





Mai sus, o variabilă de tip întreg este creată cu numele de A și un loc în memoria principală care are o valoare stocată de 10.

Ce este int& în C++?

Int& înseamnă referință la o variabilă de tip întreg. Înseamnă că va indica o variabilă de tip întreg care există deja în stocare. O variabilă de referință trebuie inițializată pentru a se lega la un element real de același tip atunci când este declarată. Următoarea este inițializarea lui int&:



int a = 5 ;
int & ref_var = a;

În acest caz, ref_var este o referire la A . Orice operațiune activată ref_var reprezintă o acţiune asupra A variabil. De exemplu, dacă tastăm ref_var= 25; valoarea lui a va fi schimbată la 25 deoarece ref_var variabila este doar un alias pentru A variabil.

Exemple: Diferența dintre int și int& în C++

Pentru a înțelege diferența dintre int și int&, vedeți exemplele de mai jos:

#include
folosind namespace std;

int principal ( ) {
int a = 2 ; // creați o variabilă întreagă a și atribuiți-i valoarea 2
int b = a; // creați o copie a lui a și atribuiți-o lui b
a = 4 ; // modifica valoarea lui a to 4
cout << A << endl; // ieșire: 4
cout << b << endl; // ieșire: 2
întoarcere 0 ;
}

Ieșire

În acest cod de mai sus, modificarea valorii lui A nu modifică valoarea lui b , deoarece b este doar o copie a A care este definit la începutul funcţiei principale.

#include
folosind namespace std;

int principal ( ) {
int a = 2 ; // creați o variabilă întreagă a și atribuiți-i valoarea 2
int & ref_var = a; // creați o referință la a
a = 4 ; // modifica valoarea lui a to 4
cout << A << endl; // ieșire: 4
cout << ref_var << endl; // ieșire: 4
întoarcere 0 ;
}

Ieșire

În acest exemplu, ref_var este o referire la A . Când valoarea de A este modificată, valoarea de ref_var este de asemenea modificat, deoarece ambele se referă la aceeași valoare.

Distincții cheie ale int și int& în limbajul C++

Următorul tabel va explica câteva diferențe generale între int și int&:

int int&
Un tip de date care este primitiv și care deține o valoare numerică este int. int& este un punct de acces la o variabilă numerică care servește ca alias pentru variabila actuală.
Utilizarea int interacționează cu valoarea reală a variabilei. Int& este un alias pentru un număr întreg care poate fi aplicat pentru a schimba variabila reală.
O variabilă de tip int ia o nouă alocare de memorie. Un int& nu alocă memorie nouă, deoarece folosește memoria variabilă existentă.
Sfera și durata variabilelor întregi sunt independente. Sfera și durata int& nu sunt specificate. Ele au loc numai în timp ce apare variabila de referință int la care se referă.

Concluzie

Ca și alte limbaje de programare, C++ oferă și multe funcționalități care sunt deja definite în interpretul C++. Unul dintre tipurile de date populare este int tip de date care acceptă date întregi și int& este o referință de variabilă int care face modificări directe la int variabile. Principala diferență între int și int& is int declară o nouă variabilă, while int& este o variabilă de referință care face modificări variabilelor declarate ale int tip.