Jaký je rozdíl mezi int a int& v C++?

Jaky Je Rozdil Mezi Int A Int V C



V programovacím jazyce jsou data uložena v hlavní paměti prostřednictvím proměnných, takže můžeme data získávat, přistupovat a provádět s nimi některé operace. C++ má datové typy, které se používají k alokaci dat v paměti pomocí proměnných. Tyto datové typy sdělují typ dat a jsou předdefinovány v kompilátoru C++. Můžeme také provést odkaz jednoho data na jiná data v paměti pomocí & operátor v C++. Tento článek osvětlí následující body.

Pojďme si ukázat výše uvedené dotazy jeden po druhém.







Co je int v C++?

V C++ je int datový typ, který odkazuje pouze na data celočíselného typu. Klíčové slovo int je v C++ vyhrazené klíčové slovo, které má pouze celočíselnou hodnotu, abychom jej mohli uložit do paměti a provést nějaké operace. V C++ používáme datový typ int k deklaraci jakékoli kladné, záporné a nulové hodnoty v našem programu.



Proměnná celočíselného typu zabírá v paměti 4 bajty. V C++ je deklarace proměnné typu integer uvedena níže:



int A = 10 ;





Výše je vytvořena celočíselná proměnná s názvem A a místo v hlavní paměti, které má uloženou hodnotu 10.

Co je int& v C++?

Int& znamená odkaz na proměnnou typu integer. Znamená to, že bude ukazovat na proměnnou celočíselného typu, která již v úložišti existuje. Referenční proměnná musí být inicializována, aby se při deklaraci propojila se skutečnou položkou stejného typu. Následuje inicializace int&:



int a = 5 ;
int & ref_var = a;

V tomto případě je ref_var je odkaz na A . Jakákoli operace zapnuta ref_var představuje akci na A variabilní. Například pokud napíšeme ref_var= 25; hodnota a se změní na 25, protože ref_var proměnná je pouze alias pro A variabilní.

Příklady: Rozdíl mezi int a int& v C++

Chcete-li pochopit rozdíl mezi int a int&, podívejte se na příklady níže:

#include
pomocí jmenného prostoru std;

int main ( ) {
int a = 2 ; // vytvořte celočíselnou proměnnou a a přiřaďte jí hodnotu 2
int b = a; // vytvořte kopii a a přiřaďte ji k b
a = 4 ; // změnit hodnotu a to 4
cout << A << endl; // výstup: 4
cout << b << endl; // výstup: 2
vrátit se 0 ;
}

Výstup

V tomto výše uvedeném kódu změna hodnoty A nemění hodnotu b , protože b je jen kopií A který je definován na začátku hlavní funkce.

#include
pomocí jmenného prostoru std;

int main ( ) {
int a = 2 ; // vytvořte celočíselnou proměnnou a a přiřaďte jí hodnotu 2
int & ref_var = a; // vytvořit odkaz na a
a = 4 ; // změnit hodnotu a to 4
cout << A << endl; // výstup: 4
cout << ref_var << endl; // výstup: 4
vrátit se 0 ;
}

Výstup

V tomto příkladu ref_var je odkaz na A . Když hodnota A se změní, hodnota ref_var se také změní, protože oba odkazují na stejnou hodnotu.

Klíčové rozdíly int a int& v jazyce C++

Následující tabulka vysvětluje některé obecné rozdíly mezi int a int&:

int int&
Datový typ, který je primitivní a obsahuje číselnou hodnotu, je int. int& je přístupový bod k numerické proměnné, která slouží jako alias pro aktuální proměnnou.
Využití int interaguje se skutečnou hodnotou proměnné. Int& je alias pro celé číslo, které lze použít ke změně skutečné proměnné.
Proměnná typu int má novou alokaci paměti. Int& nepřiděluje novou paměť, protože využívá existující variabilní paměť.
Rozsah a trvání celočíselných proměnných jsou nezávislé. Rozsah a doba trvání int& nejsou stanoveny. Probíhají pouze tehdy, když se vyskytuje referenční proměnná int, na kterou odkazují.

Závěr

Stejně jako ostatní programovací jazyky i C++ poskytuje mnoho funkcí, které jsou již definovány v interpretu C++. Jedním z populárních datových typů je int datový typ, který přijímá celočíselná data, a int& je odkaz na proměnnou int, který provádí přímé změny int proměnné. Hlavní rozdíl mezi int a int& is int deklaruje novou proměnnou, while int& je referenční proměnná, která provádí změny deklarovaných proměnných int typ.