Dereferențiere

Dereferențierea înseamnă accesarea valorii stocate la adresa indicată de un pointer, folosind operatorul *.

int x = 42;
int* ptr = &x;

cout << *ptr << endl;  // 42 (valoarea lui x)

*ptr = 100;            // modifică x prin pointer
cout << x << endl;     // 100

Pointeri la structuri

struct Punct { int x, y; };

Punct p = {3, 4};
Punct* ptr = &p;

// Două moduri de accesare a membrilor:
cout << (*ptr).x << endl;  // 3
cout << ptr->x   << endl;  // 3 (mai comun — operatorul ->)
cout << ptr->y   << endl;  // 4
Operatorul -> este echivalent cu (*ptr).member — mai scurt și mai lizibil. Se folosește frecvent cu pointeri la obiecte/structuri.