Hirdetés
- Bemutatkozott a Poco X7 és X7 Pro
- Xiaomi 15 - kicsi telefon nagy energiával
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Apple Watch
- Samsung Galaxy A52s 5G - jó S-tehetség
- Samsung Galaxy A54 - türelemjáték
- Hivatalos a OnePlus 13 startdátuma
- Örömhír: nem spórol Európán a OnePlus
- Kiesett a pikszisből a BOE
-
Mobilarena

Ú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!
- Azonnali fáradt gőzös kérdések órája
- Formula-1
- Bemutatkozott a Poco X7 és X7 Pro
- Xiaomi 15 - kicsi telefon nagy energiával
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Vigneau interaktív lokálblogja
- Kuponkunyeráló
- CADA, Polymobil, és más építőkockák
- 5.1, 7.1 és gamer fejhallgatók
- További aktív témák...
- G.SKILL Trident Z5 Royal Neo Silver 64GB (2x32GB) DDR5 6000MHz CL30 - Élettartam garancia
- XFX Quicksilver AMD Radeon RX 7800 XT Magnetic Air - Arctic White - Alza garancia 2028.02.25.
- Apple iPhone 15 128GB,Újszerű,Dobozával,12 hónap garanciával
- ASUS Vivobook S14 OLED - Ultra 5 226V - 16/512GB - Garancia
- 32GB DDR5 RAM-ok tesztelve, garanciával, számlával (a Te nevedre kiállítva)!
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- HP 13 Elitebook 830 G7 FHD IPS 600nit i5-10210U 16GB 256GB SSD Intel UHD Win11 Pro 4G LTE Garancia
- Bomba Ár! HP ProBook 650 G1 - i5-4GEN I 8GB I 128-256SSD I 15,6" HD I Cam I W10 I Garancia!
- MacBook Pro 13, 14, 15, 16, MacBook Air M1, M2 M3 M4 bill magyarosítás lézerrel / sapkacserével
- Bomba ár! HP Probook 450 G10 - i3-1315U I 16GB I 256SSD I 15,6" FHD I W11 I Cam I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest




