- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Samsung Galaxy S24 FE - tapasztalatok
- Argos: PH!arckép
- weiss: Pant* rant
- sziku69: Szólánc.
- Ndruu: Segíts kereshetővé tenni a PH-s arcképeket!
- borg25: Kórházi beszámoló
- MasterDeeJay: Natív 3Dfx Glide Windows11 alatt Voodoo1 és Voodoo2-vel.
Ú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!
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Úszáshoz szánt fülhallgató a Xiaomitól
- Milyen processzort vegyek?
- Eredeti játékok OFF topik
- exHWSW - Értünk mindenhez IS
- Okosóra és okoskiegészítő topik
- Samsung Galaxy A54 - türelemjáték
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Telekom mobilszolgáltatások
- Milyen légkondit a lakásba?
- További aktív témák...
- Samsung Galaxy S22 Plus 128GB, Kártyafüggetlen, 1 Év Garanciával
- HP Elite x2 1012 G2 Touch 2-in-1 LTE/4G Win10 Tablet billentyűzettel/Notebook, üzletből, garanciával
- Nitro AN515-57 15.6" QHD IPS i7-11800H RTX 3070 16GB 500GB NVMe gar
- Csere-Beszámítás! Playstation 5 Slim Edition + Joystick állomás! CFI-2016
- Dell R630/R730XD SSD NVMe PCIe Extender (0GY1TD) + Kábel (0K9TVP) Kit
- Xiaomi Redmi Note 14 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- KIÁRUSÍTÁS - REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- Huawei P20 Lite 64GB, Kártyafüggetlen, 1 Év Garanciával
- Wilbur Smith könyvek (15 db) egyben
- Bomba ár! Dell Latitude E7270 - i7-6GEN I 8GB I 256GB SSD I 12,5" FHD I HDMI I CAM I W10 I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest