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 .