- Milyen házat vegyek?
- Fejhallgató erősítő és DAC topik
- Az előírások megszegése miatt éghet le egyes alaplapokon a Socket AM5 foglalat
- HP notebook topic
- Milyen RAM-ot vegyek?
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Ízléses lett a Drop kompakt, vezeték nélküli klaviatúrja
- OLED TV topic
- Autós kamerák
- Az Xbox égisze alatt oldaná meg a PC-s játékosok legnagyobb gondját a Microsoft
-
PROHARDVER!
Új hozzászólás Aktív témák
-
Silεncε
őstag
válasz
I02S3F #13643 üzenetére
Alapvetően bárhol használhatsz sima változót konstans helyett, maga a konstans inkább arra ad védelmet, hogy az adott változó értéke nem lehet módosítható. Konstanst szoktunk használni például, ha valami előre tudott értéket akarunk a kódba "beégetni", amiket több helyen is eltárolunk. Nálunk például az egyik projektben meg kellett adni több helyen, hogy a munkaidő mikor kezdődik, ezt evidens volt, hogy konstansnak tárolom el, így máshol is tudom használni és elég csak 1 helyen átírni, ha véletlenül változik.
Az, hogy melyik nyelv hogyan kezeli a konstansokat, totál változó, például ott a C++, ahol van a "rendes konstans" meg vannak a #define-ok, amik már el sem jutnak a fordításig, mert a preprocessor lecseréli őket a #define-ban megadott értékre.
Egy szó mint száz: simán használhatsz bárhol változót konstans helyett, lényegében ugyanazt a hatást fogod elérni, viszont a konstans többletvédelmet ad, mivel miután definiáltad, nem tudod később az értékét változtatni (szóval ha mondjuk véletlenül bekeveredik egy értékadás bal oldalára, a fordító/interpreter szólni fog, nem fog megváltozni az értéke, ami miatt aztán debugolhatnál napestig)
-
válasz
I02S3F #13643 üzenetére
Őszintén nem tudom. Igazából szerintem annyit fognak írni mindenhova, hogy ha valaminek nem akarod, hogy futás közben változzon az értéke, az legyen konstans, a többi meg ne.
Megpróbálok írni egy kis segítséget, hátha sikerül, de nem magyarázok a legjobban(meg kicsit este van már), úgyhogy ha nem megy át, akkor bocs.
Kezdőnek érthető példa mondjuk a logolás lehet. Ugye fut szépen a programod, és akkor irogatsz dolgokat a konzolra (vagy akárhova). Namost, egyszerű példának mondjuk csinálhatsz egy log osztályt, aminek van egy olyan függvénye, hogy debuglog(message), amivel olyan dolgokat írsz ki, amiket normál futás közben nem, mert nem kell, csak a fejlesztést segíti. És akkor csinálsz egy konstanst, hogy debuglog, ami lesz alapból mondjuk false, aztán ha meg kell, átírod true-ra, kigyomlálod a fost és utána újra false.Tegyük hozzá, hogy ez azért nagyon rossz példa, mert amúgy nem így csináljuk, ha normális logolást szeretnénk, hanem van a programnak loglevelje, amit indításkor paraméterben, vagy ini fileban adunk meg és annak megfelelően logol, ha meg nincs megadva semmi, akkor működik egy default értékkel, de tanulásra meg gyakorlásra eleinte tökéletes. Ez a log osztály akár mehet is azonnal szépen külön fileba, és akkor már van is egy bővíthető, újrahasználható osztályunk, jár a keksz.
Kollégák: ha valakinek van jobb ötlete egyszerű példára, hogy az én fos példám el lehessen felejteni, jöhet.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- PROHARDVER! feedback: bugok, problémák, ötletek
- Milyen házat vegyek?
- Fejhallgató erősítő és DAC topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Mobil flották
- Az előírások megszegése miatt éghet le egyes alaplapokon a Socket AM5 foglalat
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- A lemondást javasolja az Intel vezetőjének Donald Trump
- HP notebook topic
- Futás, futópályák
- További aktív témák...
- BESZÁMÍTÁS! Apple MacBook Pro 16 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple MacBook Pro 16 2024 M4 Max 64GB 2TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple Macbook Pro 13 2020 M1 16GB 1TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! ASUS TUF VG27AQ 165Hz QHD IPS 1ms monitor garanciával hibátlan működéssel
- BESZÁMÍTÁS! Logitech G920 Driving Force Racing Wheel + Shifter garanciával hibátlan működéssel
- EREDETI NINTENDO Pokemon Go Plus autocatcher dobozban eladó
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- Több mint 70.000 eladott szoftverlicenc
- GYÖNYÖRŰ iPhone 13 256GB Midnight - 1 ÉV GARANCIA - Kártyafüggetlen, MS2227
Állásajánlatok
Cég: FOTC
Város: Budapest