Hirdetés
- Megtartotta Európában a 7500 mAh-t az Oppo
- AGM G3 Pro - ordít róla, hogy szoftverfejlesztők kellenének
- Kicsomagoljuk és bemutatjuk a Poco F8 Ultrát
- Megérkezett Magyarországra a Poco F8 Pro is
- Bemutatkozott a Snapdragon 8 Gen 5
- Milyen okostelefont vegyek?
- Samsung Galaxy Watch6 Classic - tekerd!
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Xiaomi 15T - reakció nélkül nincs egyensúly
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
jattila48
#3184
üzenetére
A "fölösleges" kód akkor keletkezik, ha handle_class.h-ban a BodyClass incomplete type-ként forward deklarálva van. Ha beinkludolom a teljes body_class.h-t, akkor "szép" kódot generál. Ekkor persze nincs értelme a pimpl-nek. Úgy tűnik, hogy a forward deklarációval nincs elég információja a BodyClass osztályról, hogy a pimpl és az mfp alapján meghatározza a BodyClass f tfv.-ének valódi címét. Mintha a pimpl-et akarná különböző információk alapján igazítani, ahogy a this-t szokta igazítani a thunk kód többszörösen örökölt osztályok esetén. Jó lenne, ha a forward deklarációban meg lehetne mondani, hogy a BodyClass teljesen közönséges osztály, nem örökölt senkitől (főleg nem többektől) és nincs virtuális tfv.-e (még emiatt is lehet ez az igazítás). Akkor talán nem generálná ezt az ilyen osztályokra amúgy tényleg fölösleges igazító kódot. Ilyet sajnos tudtommal nem lehet a C++-ban. Egyébként a kódban valószínűleg csak cím hibás, mégpedig a
004116D6 cmp dword ptr ds:[4168B4h],0
sorban a 4168B4. Amikor rosszul fut, akkor ez a cím unicode sztringekre mutat, vagyis nyilvánvalóan rossz. Amikor jól fut, akkor különböző globális konstansok lehetnek itt és környékén (ha jól fut, akkor 0). Mégsem a const deklarációtól függ, hogy jó-e vagy nem, mert újra buildeléskor const-tal is elromlott. Talán a linker lesz a hibás. Egyébként az LLVM erre a kódra assertion failed-del elszáll, és kéri, hogy a hibajelentést küldjem be. Csak a gcc tudta minden gond nélkül buildelni. -
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!
- Autós topik
- OLED TV topic
- Drasztikusan lassíthatja a játékokat egyes VGA-kon a Windows 11 új frissítése
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- VR topik (Oculus Rift, stb.)
- Kertészet, mezőgazdaság topik
- Linux kezdőknek
- BestBuy topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Designer 4K Monitor - BenQ PD-3200-U
- GYÖNYÖRŰ iPhone 11 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3127, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4055, 100% Akkumulátor
- Fém, összecsukható és kihúzható fotó állvány eladó
- 12 GB-os DDR5 SODIMM laptop memória - garanciával
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



