Referenzen 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
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
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.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen