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 .