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:
#includepomocí 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.
#includepomocí 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.