Pointerek (ismétlés)
Pointereket használunk memóriacím tárolására
- deklaráció: alaptípus *név;
- sajátos operátorok:
`*` - dereference (pointeren keresztüli változóelérés)
`&` - address-of (adott változó címe)
Példa:
| |
A new és delete operátorok
new - lefoglal valamennyi memóriát és visszatérít egy pointert annak az elejére
delete - adott címen kezdődő lefoglalást felszabadít
Szintaxis
Egy objektum lefoglalása:
int *p1 = new int; // lefoglal egy int-nek 4B-ot
*p1 = 2;
...
delete p1;
Vagy struktúrákra:
Diak *p2 = new Diak; // az előző feladatból a struct
(*p2).hianyzasok = 4;
p2->hianyzasok = 4; // az előző rövidítése
...
delete p2;
Több objektumnak való helyfoglalás:
int n; // egy sorozat hossza
cin >> n;
int *p = new int[n];
p[0] = 5;
p[1] = 3;
...
p[n-1] = 0;
delete[] p;
Példa:
| |