hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.16. 21:45



Jelenlévő felhasználók

Jelenleg 458 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 458 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Define vs Const
HozzászólásElküldve: 2015.09.13. 23:15 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
Melyiket érdemesebb használni szövegek kiírásához?
Define vagy Const?

Olvastam millió fórumot, elvileg ugyanannyit eszik, kíváncsi vagyok a ti véleményetekre, melyiket érdemesebb használni hosszútávon.

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Define vs Const
HozzászólásElküldve: 2015.09.14. 01:32 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2015.04.10. 19:49
Hozzászólások: 610
Megköszönt másnak: 53 alkalommal
Megköszönték neki: 147 alkalommal
Én is nézelődtem ezzel kapcsolatban kb hasonló eredményekkel...

De amit megtudtam és ahol/ahogy én használom:

#define:

a, Ha minden igaz ezt az előfordító behelyettesíti, ezért nem is értem ez miért enne/eszik memóriát.
b, Sehogy se lehet változtatni az értékét.
c, Én akkor szoktam használni, ha másnak is kiadnám, ide töltöm fel, talán könnyebb hozzáértés nélkül megérteni, hogy hova írd mintha változóban lenne.
Illetve számokhoz pl
SMA Forráskód: [ Mindet kijelol ]
  1. #define MAX_PLAYERS 32


new const:

a, Ugyanúgy foglal memóriát, mint a többi sima változó, és úgy is működik, de definiáláskor értéket kell adni neki.
b, Pawnban nem változtatható, de más nyelvekben pointerek segítségével van rá lehetőség.
c, Szövegekhez mindig ezt használom( ahogy Maxi is írta nekem erre: constansban nem tárolunk számot) , főleg precache -hez, ciklusokkal könnyen végig mehetsz rajta.
pl:
SMA Forráskód: [ Mindet kijelol ]
  1. for( new i; i < sizeof( g_sModellek ); ++i )
  2. {
  3. precache_model( g_sModellek[ i ] );
  4. }


Valaki aki esetleg jobban ért hozzá az leírhatná, h tényleges mi hogyan merre.

_________________
Néha itt, de többször nem.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Define vs Const
HozzászólásElküldve: 2015.12.06. 05:36 
Offline
Signore Senior
Avatar

Csatlakozott: 2011.09.09. 17:39
Hozzászólások: 4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
Na ugyan azt nem értem, hogy konstansban miért ne lehetne számot tárolni, a többi valóban így működhet.
A "#define direktívával definiált" értékek hatásköre csak az adott fájl, ezért is találtam érdekesnek a mondatod. C#-ban pl nem is lehet konstans értéket definiálni vele, ott csak true-false alapon létezik.
Pl.:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #define NAGYBETU
  3.  
  4. Class myclass()
  5. {
  6. void method()
  7. {
  8. #if (NAGYBETU)
  9. Console.Write("SZIA!");
  10. #else
  11. Console.Write("szia!");
  12. #endif
  13. }
  14. }
  15.  



A #define kulcsszót csak az előfordító használja, így futási időben ez már nincs is jelen.

#define SZAM 5
printmethod(SZAM);

---->

printmethod(5);

Valahogy így..


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Define vs Const
HozzászólásElküldve: 2015.12.06. 09:58 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
Már azóta kibeszéltük, hogy amxx specifikusan pontosan mi is a helyzet.
https://wiki.alliedmods.net/Optimizing_Plugins_(AMX_Mod_X_Scripting)#Local_Strings

Itt több felhasználásnál érdemesebb konstanst használni.

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 4 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 37 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole