Memorie & Referințe
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)!| Operator | Semnificație |
|---|---|
| &x | Adresa variabilei x |
| int* p | Pointer la int |
| *p | Valoarea de la adresa p (dereferențiere) |
| p = &x | p pointează spre x |