- Az eddigi legjobb S26 Ultra renderkép
- Határtalan erő - szabadjára engedve
- Milliókkal olcsóbb a Model Y Standard Magyarországon
- Hamarosan robottelefon figyelheti minden mozdulatod
- iPhone topik
- Yettel topik
- Apple iPhone 17 Pro Max – fennsík
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Fotók, videók mobillal
- Jolla és SailfishOS tapasztalatcsere
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
dobragab #3617 üzenetére
"Futásidejű költsége nem a static_cast-nak van, hanem a type switch-nek"
Én is ezt írtam. A type switch-et meg nem tudom elkerülni, mert mikor megtalálok egy szimbólumot, akkor a tíőusától függően kell folytatni a fordítást. Pl. egész mást kell csinálni ha a szimbólum változó, mint ha függvény. És azt előre nem tudom, hogy a keresett szimbólum milyen típusú lesz.
Nem értem mi előnye lenne a különböző típusok külön tárolásának, azonban azt látom, hogy rengeteg a hátránya.Minden, típusonként külön szimbólum táblában kezelni kell a scope-ot, holott a scope a típustól függetlenül ugyanúgy vonatkozik az összes szimbólumra. A find_symbol fv.-nek végig kell keresni az összes szimbólum táblát, és attól függően, hogy melyikben találta meg a szimbólumot, vissza kell hogy adja a típusát (ezután pedig mindenképpen type-switch jön). Sőt nem csak a típusát, hanem valami módon magát a szimbólumot is, pl. iterátorral. A visszaadott iterátor minden esetben más típusú lesz, ha csak az összes szimbólum nem egy közös őstől származik, és a táblázatok az ős pointert tárolják, amiket aztán ugyanúgy típustól függően static_cast-olni kell (mint ahogy most is csinálom). De akkor miért kéne külön táblázatokba tenni? Ha valamiért új típusú szimbólumot kell bevezetni, akkor a find_symbol fv.-t bővíteni kell az új típusnak megfelelő táblázat keresésével. Ezek mind hátrányok, és bonyolítják a programot. A Te megoldásod egyetlen "előnye", hogy a szimbólumokban nem kell a típusukat tárolni.
Az, hogy a táblázat vektor-e, vagy más, teljesen lényegtelen. Max. pár száz szimbólumról lehet szó, ennyire pedig talán a vektor overhead-je a legkisebb, úgyhogy a keresés sem lesz túl lassú (egyébként is csak fordításkor van szimbólum tábla, futáskor már nincs).
Egy szó mint száz, nem tudsz meggyőzni a külön-külön tároláskor, de nem is ez volt a kérdés. A static_cast nekem sem tetszik, de nem tudok jobbat.
Ú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óápolás, karbantartás, fényezés
- Kedvenc zene a mai napra
- Béta iOS-t használók topikja
- Az eddigi legjobb S26 Ultra renderkép
- Határtalan erő - szabadjára engedve
- AMD Navi Radeon™ RX 9xxx sorozat
- exHWSW - Értünk mindenhez IS
- Sony MILC fényképezőgépcsalád
- Gurulunk, WAZE?!
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Bomba ár! Dell Latitude E5520 - i5-2520M I 4GB I 250GB I HDMI I 15,6" HD I Cam I W10 I Garancia!
- REFURBISHED - Lenovo ThinkPad 40A9 USB-C Dock
- ÁRGARANCIA!Épített KomPhone Ryzen 9 5900X 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black - 1 ÉV GARANCIA, Kártyafüggetlen,MS3489
- Bomba ár! Lenovo ThinkPad L480 - i5-8GEN I 8GB I 256GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest