C++ Dereference


Získejte adresu a hodnotu paměti

V příkladu z předchozí stránky jsme pomocí proměnné ukazatele získali paměťovou adresu proměnné (používá se společně s operátorem & reference ). Můžete však také použít ukazatel k získání hodnoty proměnné pomocí *operátoru ( operátor dereference ):

Příklad

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";

Všimněte si, že *znak zde může být matoucí, protože v našem kódu dělá dvě různé věci:

  • Při použití v deklaraci (string* ptr) vytvoří proměnnou ukazatele .
  • Pokud není použit v deklaraci, funguje jako operátor dereference .