Kursinhalt
C++ Zeiger und Referenzen
C++ Zeiger und Referenzen
Referenzen vs Pointers
Referenzen und Zeiger bieten indirekten Zugriff auf Variablenwerte, aber sie weisen einige wesentliche Unterschiede sowie Vor- und Nachteile auf.
Syntax
-
Zeiger werden mit dem
*
Symbol deklariert; -
Referenzen werden mit dem
&
Symbol deklariert.
Initialisierung
Sie können nicht eine leere Referenz deklarieren. Aber Sie können einen leeren Zeiger mit nullptr deklarieren.
Neuzuweisung
Referenzen können nicht neu zugewiesen werden, um auf ein anderes Objekt zu verweisen.
main
#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; }
Zeiger können neu zugewiesen werden, um auf verschiedene Speicherorte zu zeigen
main
#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 durch einen Zeiger referenzierten Wert zuzugreifen, verwendet man den Dereferenzierungsoperator *
. Bei Referenzen muss kein spezieller Operator verwendet werden; man nutzt einfach die Referenzvariable direkt.
Sowohl Zeiger als auch Referenzen sind entscheidend für das Speichermanagement und tragen zur Flexibilität von Programmen bei. Ihre Verwendung hängt vom Kontext ab.
Danke für Ihr Feedback!