Hirdetés
- Samsung Galaxy Watch6 Classic - tekerd!
- Felfrissítette magát a Galaxy Watch4
- iPhone topik
- Bekerül az Apple Pay és Google Pay a Budapest GO alkalmazásba
- Xiaomi 15T Pro - a téma nincs lezárva
- Milyen okostelefont vegyek?
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy A17 5G – megint 16
- Honor 200 Pro - mobilportré
- Vivo X200 Pro - a kétszázát!
Új hozzászólás Aktív témák
-
Vico87
tag
válasz
jattila48
#1878
üzenetére
Az egyik megoldás, ha Base** példányt vár a függvényed és létrehozáskor is Base**-ba pakolod a Derived példányaidat. Ez akkor jó, ha ki akarod használni a polimorfizmust és a kollekciód heterogén, azaz statikus típusa Base* tömb, de az egyes elemek dinamikus típusa elemenként eltérő.
Ha biztosan csak Derived példányokat akarsz átadni és ez nem fog változni, akkor minek Base* tömb? A megoldás, hogy a függvényed Derived* tömböt kapjon.
Megjegyzés: a fordító számára nincs különbség Base** és Base*[] között. Az, hogy számodra szemantikailag a két dolog eltérő, az jogos, de a szándékodat (hogy ez most egy Base* tömb, vagy pedig egy Base példányra mutató mutatónak mutatója) a tömb technikai megvalósítása (memóriaterületre pointer) miatt nem tudja megvalósítani a fordító. Csak akkor tudná kitalálni a pontos konverziót, ha pontosan tudná, hogy a Base* tömbödben mennyi példány van, de ezt nem tudhatja, mivel ez futási időben derül csak ki és függvényhívásonként nem konstans.
Ez a konverzió olyan esetben veszélyes, amilyet írtál: egyik leszármazottból konvertálás másik ágon lévőbe, például a tömbödben nem csak Derived*-ok vannak, hanem Derived2*-ok is.
Ú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!
- exHWSW - Értünk mindenhez IS
- Tisztázta a Valve a Steam Machine HDMI-paráját
- Samsung Galaxy Watch6 Classic - tekerd!
- PlayStation 5
- Samsung kuponkunyeráló
- Tudjuk, de nem tesszük: a magyarok többsége nem törődik adatai védelmével
- GL.iNet OFF topik
- sziku69: Fűzzük össze a szavakat :)
- Hardcore café
- Felfrissítette magát a Galaxy Watch4
- További aktív témák...
- BESZÁMÍTÁS! GIGABYTE B650M R5 7600 32GB DDR5 1TB SSD RX 9070 16GB NZXT H700 Cooler Master 750W
- Razer Blade 17" i7-12800H / 32GB / 1TB / RTX 3080 Ti 16GB / 4K 120Hz
- GYÖNYÖRŰ iPhone 12 mini 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3856
- ÁRGARANCIA! Épített KomPhone i5 10400F 16/32GB/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- Honor Magic 7 Pro 512 Gb - AI Pro kamera, 6,8 120 Hz LTPO OLED, Snapdragon 8 Elite,3 hó gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


