Vad är skillnaden mellan int och int& i C++?

Vad Ar Skillnaden Mellan Int Och Int I C



I ett programmeringsspråk lagras data i huvudminnet genom variabler så att vi kan hämta, komma åt och utföra vissa operationer på data. C++ har datatyper som används för att allokera data i minnet med hjälp av variabler. Dessa datatyper berättar vilken typ av data, och de är fördefinierade i C++-kompilatorn. Vi kan också referera till en data med en annan data i minnet genom att använda & operatör i C++. Den här artikeln kommer att belysa följande punkter.

Låt oss demonstrera ovanstående frågor en efter en.







Vad är int i C++?

I C++ är en int en datatyp som endast refererar till heltalstyp. Int är ett reserverat nyckelord i C++ som bara har ett heltalsvärde så att vi kan spara det i minnet och utföra några operationer. I C++ använder vi int datatype för att deklarera alla positiva, negativa och nollvärden i vårt program.



En variabel av heltalstyp tar 4 byte i minnet. I C++ nämns deklarationen av heltalstypvariabeln nedan:



int a = 10 ;





Ovan skapas en variabel av heltalstyp med namnet på a och en plats i huvudminnet som har ett lagrat värde på 10.

Vad är int& i C++?

Int& betyder referens till en variabel av heltalstyp. Det betyder att det kommer att peka på en variabel av heltalstyp som redan finns i lagringen. En referensvariabel måste initieras för att länka till en verklig vara av samma typ när den deklareras. Följande är initieringen av int&:



int a = 5 ;
int & ref_var = a;

I det här fallet ref_var är en hänvisning till a . Alla operationer på ref_var representerar en åtgärd på a variabel. Till exempel om vi skriver ref_var= 25; värdet på a kommer att ändras till 25 eftersom ref_var variabel är bara ett alias för a variabel.

Exempel: Skillnaden mellan int och int& i C++

För att förstå skillnaden mellan int och int&, se exemplen nedan:

#inkludera
använder namnutrymme std;

int main ( ) {
int a = 2 ; // skapa en heltalsvariabel a och tilldela den värdet 2
int b = a; // skapa en kopia av a och tilldela den till b
a = 4 ; // ändra värdet på a till 4
cout << a << endl; // produktion: 4
cout << b << endl; // produktion: 2
lämna tillbaka 0 ;
}

Produktion

I den här ovanstående koden, ändra värdet på a ändrar inte värdet på b , därför att b är bara en kopia av a som definieras i början av huvudfunktionen.

#inkludera
använder namnutrymme std;

int main ( ) {
int a = 2 ; // skapa en heltalsvariabel a och tilldela den värdet 2
int & ref_var = a; // skapa en referens till en
a = 4 ; // ändra värdet på a till 4
cout << a << endl; // produktion: 4
cout << ref_var << endl; // produktion: 4
lämna tillbaka 0 ;
}

Produktion

I det här exemplet, ref_var är en hänvisning till a . När värdet av a ändras, värdet av ref_var ändras också, eftersom de båda refererar till samma värde.

Viktiga distinktioner av int och int& i C++ Language

Följande tabell förklarar några generella skillnader mellan int och int&:

int int&
En datatyp som är primitiv och som har ett numeriskt värde är int. int& är en åtkomstpunkt till en numerisk variabel som fungerar som ett alias för den faktiska variabeln.
Att använda int interagerar med variabelns verkliga värde. Int& är ett alias för ett heltal som kan användas för att ändra den faktiska variabeln.
En variabel av int-typ tar en ny minnesallokering. En int& allokerar inte nytt minne, eftersom det använder det befintliga variabla minnet.
Omfattningen och varaktigheten för heltalsvariabler är oberoende. Omfattningen och varaktigheten av int& är inte specificerade. De äger rum endast medan int-referensvariabeln som de refererar till förekommer.

Slutsats

Precis som andra programmeringsspråk ger C++ också många funktioner som redan är definierade i C++-tolken. En av de populära datatyperna är int datatyp som accepterar heltalsdata, och int& är en int-variabelreferens som gör direkta ändringar i int variabler. Den största skillnaden mellan int och int& is int deklarerar en ny variabel, while int& är en referensvariabel som gör ändringar i de deklarerade variablerna för int typ.