Unterschied zwischen Zeiger und Referenz

Autor: Laura McKinney
Erstelldatum: 1 April 2021
Aktualisierungsdatum: 11 Kann 2024
Anonim
[C++ von { bis }] 84 - Pointer oder Referenzen?
Video: [C++ von { bis }] 84 - Pointer oder Referenzen?

Inhalt


Der „Zeiger“ und der „Verweis“ werden beide verwendet, um auf eine andere Variable zu verweisen oder diese zu referenzieren. Der grundlegende Unterschied zwischen beiden besteht jedoch darin, dass eine Zeigervariable auf eine Variable zeigt, deren Speicherort darin gespeichert ist. Die Referenzvariable ist ein Alias ​​für eine ihr zugeordnete Variable. In der folgenden Vergleichstabelle werden die anderen Unterschiede zwischen einem Zeiger und einer Referenz erläutert.

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

VergleichsbasisZeigerReferenz
BasicDer Zeiger ist die Speicheradresse einer Variablen.Die Referenz ist ein Alias ​​für eine Variable.
Kehrt zurückDie Zeigervariable gibt den Wert zurück, der sich an der Adresse befindet, die in der Zeigervariablen gespeichert ist, der das Zeigerzeichen * vorangestellt ist.Die Referenzvariable gibt die Adresse der Variablen zurück, der das Referenzzeichen & vorangestellt ist.
Betreiber *, ->&
Null-ReferenzDie Zeigervariable kann auf NULL verweisen.Die Referenzvariable kann niemals auf NULL verweisen.
Initialisierung Ein nicht initialisierter Zeiger kann erstellt werden.Eine nicht initialisierte Referenz kann niemals erstellt werden.
Zeitpunkt der InitialisierungDie Zeigervariable kann zu jedem Zeitpunkt im Programm initialisiert werden.Die Referenzvariable kann nur zum Zeitpunkt ihrer Erstellung initialisiert werden.
ReinitialisierungDie Zeigervariable kann beliebig oft neu initialisiert werden.Die Referenzvariable kann im Programm nie wieder neu initialisiert werden.


Definition von Zeiger

Ein „Zeiger“ ist eine Variable, die den Speicherort einer anderen Variablen enthält. Die von der Zeigervariable verwendeten Operatoren sind * und ->. Die Deklaration der Zeigervariable enthält den Basisdatentyp, gefolgt vom * -Zeichen und dem Variablennamen.

Typ * var_name;

Verstehen wir den Zeiger anhand eines Beispiels.

int a = 4; int * ptr = & a; cout <Bezugsoperator ist &.

  • Eine Zeigervariable, die keine Variablenadresse enthält, zeigt auf Null. Andererseits kann eine Referenzvariable niemals auf Null verweisen.
  • Sie können immer eine unitialisierte Zeigervariable erstellen, aber wir erstellen eine Referenz, wenn wir einen Alias ​​für eine Variable benötigen, sodass Sie niemals eine unitialisierte Referenz erstellen können.
  • Sie können einen Zeiger neu initialisieren, aber nachdem Sie eine Referenz initialisiert haben, können Sie ihn nicht erneut initialisieren.
  • Sie können jederzeit einen leeren Zeiger erstellen und ihn initialisieren. Die Aktualisierung muss jedoch erst beim Erstellen einer Referenz initialisiert werden.
  • Hinweis:


    Java unterstützt keine Zeiger.

    Fazit

    Der Zeiger und die Referenz werden beide verwendet, um auf eine andere Variable zu verweisen oder diese zu referenzieren. Beide unterscheiden sich jedoch in ihrer Verwendung und Implementierung.