- Xiaomi 15T Pro - a téma nincs lezárva
- Apple iPhone 17 - alap
- Kijelző került a kamerasávra a Xiaomi 17 Pro és 17 Pro Max hátulján
- iPhone topik
- Apple iPhone 17 Pro Max – fennsík
- Apple iPhone 15 Pro Max - Attack on Titan
- Samsung Galaxy A56 - megbízható középszerűség
- One mobilszolgáltatások
- Android szakmai topik
- Yettel topik
Ú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!
- ÚJ Dobozos Lenovo ThinkPad T460 i5-6300U / 8GB / 256GB SSD / Magyar billentyűzet
- Egyedi Keycapek
- Apple iPhone 14 Pro Max 256 GB Space Black (független, iSTYLE vásárlás)
- Apple MacBook Pro 13 (2016, Touch Bar) ezüst, i5 / 8GB / 512GB SSD / 4x Thunderbolt 3
- iPhone 17 Pro Max 256GB kozmosznarancs apple.hu
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3419
- Samsung Galaxy Tab A8 32GB, Újszerű, 1 Év Garanciával
- MacBook felvásárlás!! Macbook, Macbook Air, Macbook Pro
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- 156 - Lenovo LOQ (15IRH8) - Intel Core i5-13505H, RTX 4060
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest