Egy programozási nyelvben az adatok a fő memóriában tárolódnak változókon keresztül, így le tudjuk kérni, hozzáférni és végrehajtani bizonyos műveleteket az adatokon. A C++-nak olyan adattípusai vannak, amelyeket változók segítségével a memóriában lévő adatok lefoglalására használnak. Ezek az adattípusok megmondják az adatok típusát, és előre meghatározottak a C++ fordítóban. Egy adat hivatkozását a memóriában lévő másik adatokkal is megtehetjük a használatával & operátor C++ nyelven. Ez a cikk a következő pontokat világítja meg.
Mutassuk meg egyenként a fenti lekérdezéseket.
Mi az int a C++-ban?
A C++ nyelvben az int olyan adattípus, amely csak egész típusú adatokra hivatkozik. Az int egy lefoglalt kulcsszó a C++-ban, aminek csak egész értéke van, így el tudjuk menteni a memóriába és végrehajtani néhány műveletet. A C++ nyelvben az int adattípust használjuk a programunk bármely pozitív, negatív és nulla értékének deklarálására.
Egy egész típusú változó 4 bájtot foglal el a memóriában. A C++ nyelvben az egész típusú változó deklarációja az alábbiakban szerepel:
int a = 10 ;
Fent egy egész típusú változó jön létre a névvel a és egy helyet a fő memóriában, amelynek tárolt értéke 10.
Mi az int& a C++-ban?
Az int& egy egész típusú változóra való hivatkozást jelent. Ez azt jelenti, hogy egy egész típusú változóra fog mutatni, amely már létezik a tárolóban. A referenciaváltozót inicializálni kell, hogy deklaráláskor azonos típusú valós elemhez kapcsolódhasson. A következő az int& inicializálása:
int a = 5 ;
int & ref_var = a;
Ebben az esetben a ref_var egy hivatkozás a . Bármilyen művelet bekapcsolva ref_var egy műveletet jelent a változó. Például ha gépelünk ref_var= 25; az a értéke 25-re módosul, mert a ref_var változó csak egy álneve a változó.
Példák: Az int és az int& közötti különbség a C++ nyelven
Az int és az int& közötti különbség megértéséhez tekintse meg az alábbi példákat:
#includenévtér használata std;
int fő ( ) {
int a = 2 ; // hozzon létre egy a egész változót, és rendelje hozzá az értéket 2
int b = a; // készítsen másolatot a-ról, és rendelje hozzá b-hez
a = 4 ; // változtassa meg az a értékét 4
cout << a << endl; // Kimenet: 4
cout << b << endl; // Kimenet: 2
Visszatérés 0 ;
}
Kimenet
Ebben a fenti kódban az érték megváltoztatása a értékét nem változtatja meg b , mert b csak egy másolata a amelyet a fő függvény elején határozunk meg.
#includenévtér használata std;
int fő ( ) {
int a = 2 ; // hozzon létre egy a egész változót, és rendelje hozzá az értéket 2
int & ref_var = a; // hozzon létre egy hivatkozást a
a = 4 ; // változtassa meg az a értékét 4
cout << a << endl; // Kimenet: 4
cout << ref_var << endl; // Kimenet: 4
Visszatérés 0 ;
}
Kimenet
Ebben a példában ref_var egy hivatkozás a . Amikor az értéke a megváltozik, az értéke ref_var is megváltozik, mert mindkettő ugyanarra az értékre vonatkozik.
Az int és az int& főbb különbségei a C++ nyelvben
Az alábbi táblázat bemutat néhány általános különbséget az int és az int& között:
int | int& |
A primitív adattípus, amely számértéket tartalmaz, az int. | Az int& egy hozzáférési pont egy numerikus változóhoz, amely az aktuális változó álneveként szolgál. |
Az int alkalmazása kölcsönhatásba lép a változó valós értékével. | Az Int& egy egész szám álneve, amely a tényleges változó megváltoztatására használható. |
Egy int típusú változó új memóriafoglalást vesz fel. | Az int& nem foglal le új memóriát, mivel a meglévő változó memóriát használja. |
Az egész változók hatóköre és időtartama független. | Az int& hatóköre és időtartama nincs megadva. Csak addig játszódnak le, amíg az int referenciaváltozó, amelyre hivatkoznak, előfordul. |
Következtetés
Más programozási nyelvekhez hasonlóan a C++ is számos olyan funkciót kínál, amelyek már a C++ értelmezőben vannak definiálva. Az egyik népszerű adattípus a int adattípus, amely egész számokat fogad el, és int& egy int változó hivatkozás, amely közvetlenül módosítja a int változók. A fő különbség a között int és int& is int új változót deklarál, míg int& egy referenciaváltozó, amely megváltoztatja a deklarált változóit int típus.