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:
#inkluderaanvä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.
#inkluderaanvä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.