Der Unterschied zwischen C++-Referenzen und Zeigern

Guanhui
Freigeben: 2020-05-29 14:32:30
Original
3153 Leute haben es durchsucht

Der Unterschied zwischen C++-Referenzen und Zeigern

Der Unterschied zwischen C++-Referenzen und Zeigern

1. Zeiger haben ihren eigenen Raum, während Referenzen nur ein Alias ​​sind; 🎜> 2. Der Zeiger kann auf NULL initialisiert werden, aber die Referenz muss initialisiert werden und eine Referenz auf ein vorhandenes Objekt sein

3. Der ++-Operator hat unterschiedliche Bedeutungen für Zeiger und Referenzen.

Zeiger

Das Besondere an Zeigern ist, dass der im Speicherbereich gespeicherte Wert, der der Zeigervariablen entspricht, zufällig eine bestimmte Speicheradresse ist. Dies ist auch eines der Merkmale, die Zeigervariablen von anderen Variablen unterscheiden. Ein Zeiger ist beispielsweise wie folgt definiert:

int x = 5;
int *ptr = &x;
Nach dem Login kopieren

ptr ist ein Korrekturvariablenname. Das Abrufen des Werts im Speicher, auf den dieser Zeiger zeigt, über einen Zeiger wird als Dereferenzierung bezeichnet. Nullzeiger können nicht dereferenziert werden.

Der Zeigerspeicherplatz wird wie folgt dargestellt:

Der Unterschied zwischen C++-Referenzen und Zeigern

Referenz

Referenzen werden in C++ häufig verwendet, insbesondere wenn sie als Funktionsparameter verwendet werden und wenn der Wert außerhalb der Funktion innerhalb der Funktion geändert und aktualisiert werden muss. Zunächst müssen wir klarstellen, dass eine Referenz eine besondere Art von Zeiger ist.

Eine Referenz ist ein konstanter Zeiger, der auf ein anderes Objekt zeigt, das die Speicheradresse des gezeigten Objekts enthält. Und es wird bei Verwendung automatisch dereferenziert, ohne dass es explizit wie mit einem Zeiger abgerufen werden muss.

Zum Beispiel lautet die Definition einer Referenz wie folgt:

int x = 5;
int &y = x;
Nach dem Login kopieren

Empfohlenes Tutorial: „
C#

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen C++-Referenzen und Zeigern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
c++
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage