Pointeri

Un pointer este o variabilă care stochează adresa de memorie a altei variabile. Se declară cu *.

pointers.cpp
int x = 10;
int* ptr = &x;  // ptr conține adresa lui x

cout << x    << endl;  // 10  (valoarea lui x)
cout << &x   << endl;  // adresa lui x
cout << ptr  << endl;  // adresa lui x (același lucru)
cout << *ptr << endl;  // 10  (valoarea DE LA adresa ptr)

Pointer null

int* p = nullptr;  // pointer care nu pointează nicăieri
if (p == nullptr) {
  cout << "Pointer null!" << endl;
}
Nu dereferenția un pointer null (*p când p == nullptr) — cauzează crash (segmentation fault)!
OperatorSemnificație
&xAdresa variabilei x
int* pPointer la int
*pValoarea de la adresa p (dereferențiere)
p = &xp pointează spre x