Hvad er forskellen mellem int og int& i C++?

Hvad Er Forskellen Mellem Int Og Int I C



I et programmeringssprog lagres dataene i hovedhukommelsen gennem variabler, så vi kan hente, få adgang til og udføre nogle operationer på data. C++ har datatyper, der bruges til at allokere data i hukommelsen ved hjælp af variabler. Disse datatyper fortæller typen af ​​data, og de er foruddefineret i C++ compileren. Vi kan også lave referencen for en data med en anden data i hukommelsen ved at bruge & operatør i C++. Denne artikel vil sætte lidt lys på følgende punkter.

Lad os demonstrere ovenstående forespørgsler én efter én.







Hvad er int i C++?

I C++ er en int en datatype, der kun refererer til heltal-type data. Int er et reserveret nøgleord i C++, som kun har en heltalsværdi, så vi kan gemme det i hukommelsen og udføre nogle operationer. I C++ bruger vi int datatype til at erklære enhver positiv, negativ og nul værdi i vores program.



En heltalsvariabel tager 4 bytes i hukommelsen. I C++ er deklarationen af ​​heltalstypevariablen nævnt nedenfor:



int -en = 10 ;





Ovenfor oprettes en heltalsvariabel med navnet på -en og et sted i hovedhukommelsen, der har en gemt værdi på 10.

Hvad er int& i C++?

Int& betyder reference til en heltalstypevariabel. Det betyder, at det vil pege på en heltalsvariabel, der allerede findes i lageret. En referencevariabel skal initialiseres for at linke til en reel vare af samme type, når den erklæres. Følgende er initialiseringen af ​​int&:



int a = 5 ;
int & ref_var = a;

I dette tilfælde ref_var er en henvisning til -en . Enhver operation på ref_var repræsenterer en handling på -en variabel. For eksempel, hvis vi skriver ref_var= 25; værdien af ​​a vil blive ændret til 25, fordi ref_var variabel er kun et alias for -en variabel.

Eksempler: Forskellen mellem int og int& i C++

For at forstå forskellen mellem int og int&, se eksemplerne nedenfor:

#include
bruger navneområde std;

int main ( ) {
int a = 2 ; // opret en heltalsvariabel a og tildel den værdien 2
int b = a; // opret en kopi af a og tildel den til b
a = 4 ; // ændre værdien af ​​a til 4
cout << -en << endl; // produktion: 4
cout << b << endl; // produktion: 2
Vend tilbage 0 ;
}

Produktion

I denne ovenstående kode ændres værdien af -en ændrer ikke værdien af b , fordi b er blot en kopi af -en som er defineret i begyndelsen af ​​hovedfunktionen.

#include
bruger navneområde std;

int main ( ) {
int a = 2 ; // opret en heltalsvariabel a og tildel den værdien 2
int & ref_var = a; // oprette en reference til en
a = 4 ; // ændre værdien af ​​a til 4
cout << -en << endl; // produktion: 4
cout << ref_var << endl; // produktion: 4
Vend tilbage 0 ;
}

Produktion

I dette eksempel, ref_var er en henvisning til -en . Når værdien af -en er ændret, værdien af ref_var er også ændret, fordi de begge refererer til den samme værdi.

Nøgleforskelle mellem int og int& i C++ sprog

Følgende tabel vil forklare nogle generelle forskelle mellem int og int&:

int int&
En datatype, der er primitiv, og som har en numerisk værdi, er int. int& er et adgangspunkt til en numerisk variabel, der fungerer som et alias for den faktiske variabel.
Anvendelse af int interagerer med variablens reelle værdi. Int& er et alias for et heltal, der kan anvendes til at ændre den faktiske variabel.
En variabel af int-typen tager en ny hukommelsesallokering. En int& allokerer ikke ny hukommelse, da den bruger den eksisterende variable hukommelse.
Omfanget og varigheden af ​​heltalsvariabler er uafhængige. Omfanget og varigheden af ​​int& er ikke specificeret. De finder kun sted, mens den int-referencevariabel, som de henviser til, forekommer.

Konklusion

Ligesom andre programmeringssprog giver C++ også mange funktioner, der allerede er defineret i C++-fortolkeren. En af de populære datatyper er int datatype, der accepterer heltalsdata, og int& er en int variabel reference, der foretager direkte ændringer til int variabler. Den væsentligste forskel mellem int og int& is int erklærer en ny variabel, mens int& er en referencevariabel, der foretager ændringer i de deklarerede variabler i int type.