Kezdőoldal » Számítástechnika » Programozás » C++ new-al létrehozott objektum?

C++ new-al létrehozott objektum?

Figyelt kérdés

class A{};

int main(){

A *p;

p = new A();

return 0;

}


Ilyenkor kell delete p a return elé?


2017. nov. 20. 11:14
 1/3 anonim ***** válasza:
100%

Röviden: igen, kell.


Hosszabban: alapvetően neked kell gondoskodnod arról, hogy azok a memória-területek, amiket lefoglalsz, a futás végén fel legyenek szabadítva. Ha ezt nem teszed, akkor az ismételt futtatás (vagy egy, a memória-területeit rosszul karbantartó alprogram ismételt futtatása) során újabb és újabb területeket csipeget magának a program, így apránként elfogyasztva a rendelkezésre álló memóriát. Ezt a jelenséget hívjuk "memory leak"-nek, vagyis memória-szivárgásnak.

2017. nov. 20. 11:29
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
Elvileg az op.rendszer ilyenkor felszabadít minden, a progi által lefoglalt memóriát, de nem jó gyakorlat erre építeni a memóriakezelést. Erősen javasolt progin belül felszabadítani, szóval egyetértek az első válaszolóval.
2017. nov. 20. 12:30
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
Ha csak ennyi a program, akkor remek így is, emiatt fog memory leaket okozni.
2017. nov. 20. 17:53
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!