C++- Dereferenzierung


Holen Sie sich die Speicheradresse und den Wert

Im Beispiel von der vorherigen Seite haben wir die Zeigervariable verwendet, um die Speicheradresse einer Variablen zu erhalten (wird 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 declaration
string* ptr = &food;    // Pointer declaration

// Reference: Output the memory address of food with the pointer (0x6dfed4)
cout << ptr << "\n";

// Dereference: Output the value of food with the pointer (Pizza)
cout << *ptr << "\n";

Beachten Sie, dass das *Zeichen hier verwirrend sein kann, da es in unserem Code zwei verschiedene Dinge bewirkt:

  • Wenn es in der Deklaration (string* ptr) verwendet wird, erstellt es eine Zeigervariable .
  • Wenn es nicht in der Deklaration verwendet wird, fungiert es als Dereferenzierungsoperator .