C++ Dereferenzierung
Speicheradresse und -wert abrufen
Im Beispiel von der vorherigen Seite haben wir die Zeigervariable verwendet, um die Speicheradresse einer Variablen abzurufen (zusammen mit dem Referenzoperator &
verwendet). Sie können jedoch auch den Zeiger verwenden, um den Wert der Variablen abzurufen, indem Sie den Operator *
(den Dereferenzierungsoperator) verwenden:
Beispiel
string food = "Pizza"; // Variable Aussage
string* ptr = &food; // Zeigerdeklaration
// Referenz: Geben Sie die Speicheradresse von Lebensmitteln mit dem Zeiger aus (0x6dfed4)
cout << ptr << "\n";
// Dereferenzierung: Geben Sie den Wert von Lebensmitteln mit dem Zeiger aus (Pizza)
cout << *ptr << "\n";
Try it Yourself »
Beachten Sie, dass das Zeichen *
hier verwirrend sein kann, da es in unserem Code zwei verschiedene Dinge bewirkt:
- Bei Verwendung in der Deklaration (string* ptr) wird eine Zeigervariable erstellt.
- Wenn es nicht in der Deklaration verwendet wird, fungiert es als Dereferenzierungsoperator.