C ++ - Referenzen
Eine Referenzvariable ist ein Alias, dh ein anderer Name für eine bereits vorhandene Variable. Sobald eine Referenz mit einer Variablen initialisiert wurde, kann entweder der Variablenname oder der Referenzname verwendet werden, um auf die Variable zu verweisen.
Referenzen vs Zeiger
Referenzen werden oft mit Zeigern verwechselt, aber drei Hauptunterschiede zwischen Referenzen und Zeigern sind:
Sie können keine NULL-Referenzen haben. Sie müssen immer davon ausgehen können, dass eine Referenz mit einem legitimen Speicher verbunden ist.
Sobald eine Referenz auf ein Objekt initialisiert wurde, kann sie nicht mehr geändert werden, um auf ein anderes Objekt zu verweisen. Zeiger können jederzeit auf ein anderes Objekt gerichtet werden.
Eine Referenz muss beim Erstellen initialisiert werden. Zeiger können jederzeit initialisiert werden.
Erstellen von Referenzen in C ++
Stellen Sie sich einen Variablennamen als eine Bezeichnung vor, die an den Speicherort der Variablen im Speicher angehängt ist. Sie können sich eine Referenz dann als zweites Etikett vorstellen, das an diesen Speicherort angehängt ist. Daher können Sie über den ursprünglichen Variablennamen oder die Referenz auf den Inhalt der Variablen zugreifen. Angenommen, wir haben das folgende Beispiel:
int i = 17;
Wir können Referenzvariablen für i wie folgt deklarieren.
int& r = i;
Lesen Sie das & in diesen Erklärungen als reference. Lesen Sie daher die erste Deklaration als "r ist eine mit i initialisierte Ganzzahlreferenz" und lesen Sie die zweite Deklaration als "s ist eine mit d initialisierte Doppelreferenz". Das folgende Beispiel verwendet Verweise auf int und double -
#include <iostream>
using namespace std;
int main () {
// declare simple variables
int i;
double d;
// declare reference variables
int& r = i;
double& s = d;
i = 5;
cout << "Value of i : " << i << endl;
cout << "Value of i reference : " << r << endl;
d = 11.7;
cout << "Value of d : " << d << endl;
cout << "Value of d reference : " << s << endl;
return 0;
}
Wenn der obige Code zusammen kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:
Value of i : 5
Value of i reference : 5
Value of d : 11.7
Value of d reference : 11.7
Referenzen werden normalerweise für Funktionsargumentlisten und Funktionsrückgabewerte verwendet. Im Folgenden sind zwei wichtige Themen aufgeführt, die sich auf C ++ - Referenzen beziehen und für einen C ++ - Programmierer klar sein sollten:
Sr.Nr. | Konzept & Beschreibung |
---|---|
1 | Referenzen als Parameter
C ++ unterstützt die sicherere Übergabe von Referenzen als Funktionsparameter als Parameter. |
2 | Referenz als Rückgabewert
Sie können die Referenz von einer C ++ - Funktion wie jeden anderen Datentyp zurückgeben. |