Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- sziku69: Fűzzük össze a szavakat :)
- Magga: PLEX: multimédia az egész lakásban
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Parci: Milyen mosógépet vegyek?
- Zsoca1991102: Kábel kereső / ér pár kereső
- djculture: Éhezők ssd és memória viadala.
-
LOGOUT

Ú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!
- Valami baja van a tápomnak
- Milyen monitort vegyek?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Pánik a memóriapiacon
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- One mobilszolgáltatások
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Honda topik
- AMD Navi Radeon™ RX 9xxx sorozat
- További aktív témák...
- Xiaomi Watch S4, 1 Év Garanciával
- HP EliteOne 800 G6 All-in-One i5-10500 32GB 1000GB 24" Érintőkijelző!! 1 év garancia
- BESZÁMÍTÁS! ASUS B650M R7 8700F 32GB DDR5 1TB SSD RTX 4070 Super 12GB NZXT H510 Cougar 700W
- BESZÁMÍTÁS! MSI ThinA15 B7VF-449XHU Gamer notebook - R7 7735HS 16GB DDR5 1TB SSD nVidia RTX 4060 8GB
- EREDETI NINTENDO Pokemon Go Plus autocatcher dobozban eladó
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



