Új hozzászólás Aktív témák
-
MageRG
addikt
Tisztelt Hölgyek és Urak!
class Base{/* ..., nincs virtual destructor */};class Derived: public Base{/* ... */};int main(){Base *basePtr = new Derived();delete basePtr; /* (1) memory leak, de miért? */void *ptr = (void*) new Derived(); /* tudom, borzalom */delete ptr; /* (2) itt mi történik? */
return 0;}
Szóval a fenti agymenés lenne a kérdés:
(1)-nél gondolom azt hiszi a fordító, hogy ez egy Base objektum, ezért a származtatott osztály részeit már nem szabadítja fel.
Ez mindig így van? Van olyan fordító, ami "tudja", hogy az adott pointer ténylegesen mekkora területre mutat?
(2)-nél mi történik? Ha jól értem itt már semmilyen takarítás nincs (egy destruktor sem hívódik meg).
Elnézést ha kicsit csekély értelmű kérdés...
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Vállalom FRP Lock os telefonok javítását ingyen kiszálással és akár helyszíni javittással
- Telefon felvásárlás!! Apple Watch Series 9/Apple Watch Ultra/Apple Watch Ultra 2
- Dell latitude, precision, xps, magyar világítós billentyűzetek eladóak
- ÚJ akku! Lenovo ThinkPad X1 Extreme Gen2 i7-9850H 16GB 512GB GTX1650 500nit UHD 1 év teljeskörű gar.
- Asus TUF Gaming F15 FX507 - 15,6"FHD 144Hz - i5-12500H - 8GB - 512GB SSD - RTX 3050 - 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

