Ú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... -
MageRG
addikt
válasz
jattila48
#3184
üzenetére
Nem értek annyira a C++ programozáshoz, de nekem fura hogy egy static memberbe akarsz belepakolni egy másképp példányosodó valamit.
A HandleClass::mfp közös az összes HC-ben, ugyanazt a BodyClass példány memberét hívja.
De a HandleClass::f meg egy-egy külön BodyClass példány membert hív, ami a konstruktorban jön létre.
Vagyis a két hívás *vára nem ugyanazt csinálja.
Akkor lenne ugyanaz, ha a *pimpl member is statikus lenne.De ez csak az én "két centem".

Ú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!
- Formula-1
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Magga: PLEX: multimédia az egész lakásban
- Samsung kuponkunyeráló
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Kuponkunyeráló
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Linux kezdőknek
- Friss információk és képek a OnePlus új órájáról
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- További aktív témák...
- HIBÁTLAN iPhone 15 Plus 128GB Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4531,90% Akksi
- BESZÁMÍTÁS! ASRock B250M i5 6600K 16GB DDR4 250GB SSD GTX 1650 4GB BITFENIX DeepCool 400W
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- PlayStation Okosító Blu-ray lemezek - PS4 GoldHEN Loader / BD-JB Lapse és PS5 Auto Jailbreak AIO
- Lenovo ThinkPad X1 Carbon Gen 9 i7-1185G7 32 GB RAM Iris Xe 4k kijelző törésgarancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

