Odwołanie do C++
Uzyskaj adres i wartość pamięci
W przykładzie z poprzedniej strony użyliśmy zmiennej wskaźnikowej do pobrania adresu pamięci zmiennej (używanej razem z operatorem &
referencyjnym ). Możesz jednak również użyć wskaźnika, aby uzyskać wartość zmiennej, używając *
operatora ( operatora wyłuskiwania ):
Przykład
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";
Zauważ, że *
znak może być mylący, ponieważ w naszym kodzie robi dwie różne rzeczy:
- Kiedy jest używany w deklaracji (string* ptr), tworzy zmienną wskaźnikową .
- Gdy nie jest używany w deklaracji, działa jako operator wyłuskiwania .