Hirdetés
- Milyen videókártyát?
- Projektor topic
- Melyik tápegységet vegyem?
- Milyen egeret válasszak?
- Épített vízhűtés (nem kompakt) topic
- Kormányok / autós szimulátorok topikja
- Tudjuk, de nem tesszük: a magyarok többsége nem törődik adatai védelmével
- Az SK Hynix elárulta, hogy meddig nem lesz elég memória
- Mini-ITX
- OLED TV topic
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
dobragab
#3057
üzenetére
Akkor egy kicsit konkrétabban: B egy olyan osztály, ami bináris adatot tartalmazó memória területet dolgoz fel. A memória terület pointerét, és méretét kapja meg az init tfv.-ből. Van nem default ctor-a, amiben egyéb paramétereket vár. A leszármazott D osztály valahonnan (pl. file, registry, stb.) beolvassa a bináris adatot, lefoglalja a megfelelő memória területet, és ennek a címét és méretét a B::init-nek argumentumként átadva B::init meghívásával (a D ctor-ában) teljesen inicializálja B-t. A D ctorának fájl név a paramétere, ha fájlból olvas, vagy registry kulcs, ha registryből, stb. A probléma az, hogy ha nem az init-et hívom, hanem a B ctorának akarnám átadni a memória területet, akkor az adatot előbb kellene beolvasni, mint ahogy a B ctora meghívódik. Azonban az adat beolvasást mindenképpen a D ctor-ában szeretném elvégezni, nem pedig kívül (pl. RAII miatt). Ha a B ctor-ának az egyéb paraméterek mellett a memória pointer és a méret is paramétere lenne, akkor ezeket valahogy az inicializáló listában kéne előállítani (akár D statikus fv.-ei segítségével). Ehelyett én azt mondom, hogy mivel B-t nem lehet példányosítani, a D pedig nem tekinthető teljesen megkonstruáltnak ha nem hívja meg ctor-ából az init-et, talán elfogadható a B kétfázisú inicializálása. Ez koncepcionálisan nem mond ellent annak, hogy ne hozzunk létre félig konstruált objektumot, mivel ha D a konstruktorában nem hívja meg az init-et, akkor maga a D tekinthető félig konstruáltnak.
Ú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!
- Jabra Evolve2 40 headset
- Xbox Wireless Controller - Gold Shadow Special Edition (2023) 2025.12.17.MS jótállás
- GIGABYTE RTX 5090 32GB GDDR7 AORUS XTREME WATERFORCE - Új, Bontatlan, 3 év garancia - Eladó!
- ASUS RTX 5090 32GB GDDR7 ROG ASTRAL LC OC - Új, Bontatlan, 3 év garancia - Eladó!
- Lenovo IdeaPad Pro 5 (14") újszerű állapot, garanciás
- 187 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5070
- BESZÁMÍTÁS! MSI B450M R5 5600X 32GB DDR4 512GB SSD RTX 3070 8GB Rampage SHIVA A-Data 650W
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- Xiaomi Redmi 14C 128GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 12 mini 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2036
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


