Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Referenzen vs. Zeiger | Grundlagen der Referenzen
C++-Zeiger und Referenzen

bookReferenzen vs. Zeiger

Swipe um das Menü anzuzeigen

Referenzen und Zeiger ermöglichen den indirekten Zugriff auf Variablenwerte, jedoch gibt es einige wichtige Unterschiede sowie Vor- und Nachteile.

Syntax

  • Zeiger werden mit dem Symbol * deklariert;

  • Referenzen werden mit dem Symbol & deklariert.

Initialisierung

Es ist nicht möglich, eine leere Referenz zu deklarieren. Es ist jedoch möglich, einen leeren Zeiger mit nullptr zu deklarieren.

Neu-Zuweisung

Referenzen können nicht neu zugewiesen werden, um auf ein anderes Objekt zu verweisen.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 125, y = 500; // creating a reference to x variable int& ref_x = x; ref_x = y; // attempt to re-assigned ref_x ref_x = 0; std::cout << x << ' ' << y; }

Pointer können neu zugewiesen werden, um auf verschiedene Speicheradressen zu zeigen.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 125, y = 500; // creating a pointer to x variable int* ptr = &x; ptr = &y; // attempt to re-assigned ref_x *ptr = 0; std::cout << x << ' ' << y; }

Zugriff auf den Wert

Um auf den Wert zuzugreifen, auf den ein Zeiger zeigt, wird der Dereferenzierungsoperator * verwendet. Bei Referenzen ist kein spezieller Operator erforderlich; die Referenzvariable wird direkt genutzt.

Sowohl Zeiger als auch Referenzen sind entscheidend für das Speichermanagement und tragen zur Flexibilität von Programmen bei. Der Einsatz hängt vom jeweiligen Kontext ab.

question mark

Welcher Codeausschnitt zeigt korrekt, dass ein Zeiger auf eine andere Variable umgebunden werden kann, eine Referenz jedoch nicht?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 3. Kapitel 3
some-alt