- Samsung Galaxy S25 - végre van kicsi!
- Vivo X200 Pro - a kétszázát!
- Apple iPhone Air - almacsutka
- Okosóra és okoskiegészítő topik
- Apple Watch
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- iPhone topik
- Xiaomi 14T - nem baj, hogy nem Pro
- Xiaomi 15 - kicsi telefon nagy energiával
- VoLTE/VoWiFi
Új hozzászólás Aktív témák
-
-
Delete esetén ha a statikus (az első példában Base, a másodikban void) és a dinamikus (Derived) típus különbözik, akkor a dinamikus típusnak a statikus leszármazottjának kell lennie ÉS a statikus típus destruktorának virtuálisnak kell lennie, máskülönben undefined behaviour.
Szóval mindkét példa definiáltlan működés, saccra a gyakorlatban annyi történik, hogy az első példában meghívódik a Base destruktora (így a Derived saját dolgai felszabadítatlanul maradnak), a második példában meg csak egy free() a pointerrel.
-
jattila48
aktív tag
Attól tartok, nem egészen érted miről van szó. A member pointerek nem függenek egyetlen példánytól sem, hanem az osztály (nem az objektum!) tagjaira hivatkozó fordítás idejű konstansok. Úgy kell elképzelni, mint offset-et, ami az osztály kezdetéhez képest mutatja az adott tag helyét az osztályban. Pl. struct semmi{int a; int b;} osztályban a semmi::* pa=&semmi::a és semmi::* pb=&semmi::b deklarációkkal a pa=0 és pb=4 konstans értékeket vesz fel (feltehetőleg), mivel az a tag offsetje az osztályhoz lépest 0, a b-é pedig 4 (ha az a mérete 4 byte volt). Ugyanígy (nem virtuális) tfv.-ekre is, csak ekkor nem az offset, hanem a tfv. címe mint fordítás idejű konstans kerül a member function pointerbe. A HandleClass::mfp nálam ilyen member function pointer, ami történetesen a BodyClass::f tfv.-ének címét tartalmazza (és ez független a BodyClass bármely példányától, egy közönséges fv. cím). Ezért, mivel nem függ sem a HandleClass, sem a BodyClass egyetlen példányától sem, nyugodtan lehet statikus, hiszen minden példányban ugyanaz a konstans érték. Amikor (pimpl->*hc.mfp)(2); formában hívom a BodyClass f tfv.-ét, akkor ez nem azt jelenti, hogy az mpf a pimpl által mutatott objektum tagja lenne (mint ahogy a ->* miatt első ránézésre tűnik), hanem a BodyClass::f tfv. kapja a pimpl-et első paraméterként, 2-őt második paraméterként, (mint ahogy a tfv.-ek első paramétere mindig az aktuális példányra mutató this pointer), az mpf pedig történetesen a hc statikus tagja. Egyébként ahogy írtam, ha az mpf-et const-ként deklarálom akkor működik, különben pedig futási hibával elszáll. A VS kever valamit, mert a gcc jól fordítja. A VS is lefordítja, csak szerintem rosszul.
Ú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!
- Geri Bátyó: Agglegénykonyha 7 – Még egy megosztó – de gyors – étel: resztelt máj
- Másodszor is nekifut az AI PC-k meghódításának a Qualcomm
- Vezeték nélküli fülhallgatók
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Itt van az ASUS legfrissebb, AMD platformra épülő mini PC-je
- Red Dead Redemption 2 (PC)
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Fejhallgató erősítő és DAC topik
- One otthoni szolgáltatások (TV, internet, telefon)
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- További aktív témák...
- Alienware AW3423DWF Ívelt Gamer Monitor!34"/QD-OLED/165hz/0,1ms/10BIT/Freesync-G-sync/Alien FX
- Iphone 15 Pro Max 512GB Natúr titán
- DELL Latitude 5520 Strapabíró Érintős Laptop 15,6" -65% i7-1185G7 16/512 Iris Xe FHD IPS
- Intel Core i7 10700/RTX3060/16Gb ram/256Gb SSD
- DELL Latitude 5520 Strapabíró Érintős Laptop 15,6" -65% i7-1185G7 16/512 Iris Xe FHD IPS
- Bontott, vadiúj, SKY BLUE MacBook Air 13.6" M4 10C/8G 16GB 256GB 13 Gar.: 1 év APPLE világgarancia
- Eladó Xiaomi Redmi A2 64GB / 12 hó jótállás
- Újra Akcióban!!! Ducky One 2 Mini és SF billentyűzetek a bolti ár töredékéért! Számla+Gari
- Huawei Nova 9 SE 128GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3364
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest