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.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; }
Zeiger können neu zugewiesen werden, um auf verschiedene Speicherorte 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 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!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 5.88
Referenzen vs Pointers
Swipe um das Menü anzuzeigen
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.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; }
Zeiger können neu zugewiesen werden, um auf verschiedene Speicherorte 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 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!