Hirdetés
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S23 Ultra - non plus ultra
- Telekom mobilszolgáltatások
- Amazfit Helio Strap – képernyőmentesen
- Elgépelte a Nubia, hogy Air
- Android alkalmazások - szoftver kibeszélő topik
- Amazfit Bip 6 - jót olcsón
- Hivatalos a OnePlus 13 startdátuma
- MIUI / HyperOS topik
- Samsung Galaxy S25 - végre van kicsi!
Új hozzászólás Aktív témák
-
dobragab
addikt
válasz
EQMontoya
#3321
üzenetére
Konkrétan C++98-ban:
- default ctor: végighívja az ősosztályok és adattagok default ctor-át, sorrendben. Ha írsz bármilyen ctort, ami nem copy ctor, bukod a default ctort, kézzel kell írnod, ha akarsz. (vagy = default, C++11-ben)
- copy ctor: végighívja az ősosztályok és adattagok copy ctor-át, sorrendben.
- operator=: végighívja az ősosztályok és adattagok operator=-jét, sorrendben.
- dtor: végighívja az adattagok és ősosztályok dtor-át, ebben a sorrendben- címképző operátor (&)
- vessző operátor (,)Ehhez hozzá jön a C++11-es move ctor és move assignment operator, ami ha kínai, nézz utána alaposan a jobbérték referenciáknak.
- move ctor: a move ctor-okat hívja végig, ha van, egyébként a copy ctort
- move op=: a move op=-ket hívja végig, ha van, egyébként a sima op=-tEz a kettő csak akkor van, ha
- nincs a felhasználó által írt copy ctor vagy dtor,
- nincs a felhasználó által írt másoló vagy move operator=,
- nincsen valami miatt implicit törölve (például mert az egyik adattagé törölve van).Mindennek az a célja, hogy az erőforráskezelést el tudd rejteni egy-egy erre specializált osztály belsejébe, pl. string vagy vector. Ezeket aztán máshol úgy tudod használni, mint egy sima int-et, mert a fordító mindig tudja, mikor mit kell meghívni. A felsőbb szintű (nem erőforráskezelő) osztályoknak nem kell foglalkoznia a fent említett tagfüggvényekkel, a default is úgy fog működni, ahogy elvárjuk.
Nyilván ez nagyon le van egyszerűsítve, de nagyságrendileg stimmel.
Jávához képest: van destruktor, mégpedig arra, hogy bármilyen erőforrást (memória, fájl, mutex, grafikus memória, stb.) becsukjon. Ha jól tervezed meg az osztályaidat, ezek mind automatikusan történnek. A GC ennél butább, mert csak memóriát szabad / lehet rábízni.
Jó, igen a finalize-ra elvileg rá lehet bízni pl. egy fájl bezárását, de az ki tudja, mikor fut le... Nagyon nem vicces nyitva hagyni egy fájlt random ideig, amíg a GC össze nem szedi a memóriában lévő objektumot. Ezért van jávában minden fájlkezelős történet try - catch - finally blokkban, hogy akármi történik, kézzel be tudd csukni a fájlt. C++-ban a compiler biztosan becsukja a fájlt a blokk végén (fstream).
Kicsit elkanyarodtam a kérdéstől. Remélem, azért mondtam újat, rosszat meg nem

Ú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!
- Lenovo ideapad 330S laptop - Ryzen5 2500U - 8GB - 250GB SSD
- Land Rover Explore R 4/64GB, Megkímélt, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Xiaomi 12T 8/128GB Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Xiaomi Redmi Note 13 Pro+ 5G 12/512GB, Normél, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garanciával
- Minőségi tápegységek,650-1400W-ig,számlával,garanciával,EVGA,HP,FSP,Cougar,Cooler Master,stb
- HIBÁTLAN iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3240, 100% Akksi
- Bomba ár! Lenovo ThinkPad T490s - i5-8GEN I 8GB I 256SSD I 14" FHD Touch I Cam I W11 I Gari!
- Bontott, vadiúj, SPACE BLACK MacBook Pro 14" M4 10C/10G 16GB 512GB Gar.: 1 év APPLE világgarancia
- GYÖNYÖRŰ iPhone 13 mini 256GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3905, 100% Akksi
- Samsung Galaxy Z Fold4 Graygreen Duplakijelzős produktivitás, 120 Hz, Garancia 2026. 03. 22-ig
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



