hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.16. 11:18



Jelenlévő felhasználók

Jelenleg 726 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 726 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  [ 13 hozzászólás ]  Oldal 1 2 Következő
Szerző Üzenet
 Hozzászólás témája: new decl
HozzászólásElküldve: 2013.01.04. 16:16 
Offline
Félisten

Csatlakozott: 2012.01.07. 21:10
Hozzászólások: 850
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 154 alkalommal
Sziasztok

Annyi lenne csak a kérdésem, hogy mi a különbség a "new" és a "decl" között? Mire, hol, mikor kell használni?

Ha már itt tartunk akkor a static-ról is informálna valaki?

_________________
Megköszönni nem szégyen!
Csak kattints a Kép jelre. --->


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: new decl
HozzászólásElküldve: 2013.01.04. 16:35 
Offline
Tiszteletbeli

Csatlakozott: 2010.02.04. 19:12
Hozzászólások: 3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
HunGamer írta:
Sziasztok

Annyi lenne csak a kérdésem, hogy mi a különbség a "new" és a "decl" között? Mire, hol, mikor kell használni?

Ha már itt tartunk akkor a static-ról is informálna valaki?

static asszem az, hogy az értéke később nem változhat, csak akkor amikor megadod

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: new decl
HozzászólásElküldve: 2013.01.07. 14:37 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Wrong, az a constans

Vannak eltérések a prognyelvekben, de lényegében ugyanaz. A static változó ugyanolyan változó, de értékét megőrzi, nem tűnik el a memóriából, emiatt függvényeben szokták használni. (Mivel a PHPban nincs OO, ezért az alapján egy példát írok most le, szerintem működik):

Kód:
public fgvem()
{
    static alma=0;
    alma++;
}


Ez konkrétan "nem csinál látható" dolgot, de a háttérben ez játszik le, ha az alábbi sorokat tartalmazza a kódod:

Kód:
fgvem();
fgvem();


Első híváskor beállítódik az alma változó értéke 0ra. (A fordító minden fordításkor lefoglalja a static-us változókat, s ellátja őket def értékekkel, de az első értékadáskor (ami nem új példányosítása) felülcsapja.
Tehát
1. függvényhívás végén alma 1 lesz
2. fgvhíváskor: alma 2 lesz.

Ha valakinek van ideje, próbálja ki, hátha mégsem így működik pawnban :)

IrOn123 írta:
HunGamer írta:
Sziasztok

Annyi lenne csak a kérdésem, hogy mi a különbség a "new" és a "decl" között? Mire, hol, mikor kell használni?

Ha már itt tartunk akkor a static-ról is informálna valaki?

static asszem az, hogy az értéke később nem változhat, csak akkor amikor megadod

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: new decl
HozzászólásElküldve: 2013.01.07. 14:44 
Offline
Félisten

Csatlakozott: 2012.01.07. 21:10
Hozzászólások: 850
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 154 alkalommal
Köszönöm:)
Azt még el tudnád magyarázni, hogy mi a különbség a "new" és a "decl" között?

_________________
Megköszönni nem szégyen!
Csak kattints a Kép jelre. --->


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: new decl
HozzászólásElküldve: 2013.01.08. 00:49 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Souremodhoz még nem értek.

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: new decl
HozzászólásElküldve: 2013.01.15. 15:42 
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
Metal írta:
Souremodhoz még nem értek.


Még szócska befigyelt. :DD

Egyébként:

New
Kód:
new String:example[4500];


Létrejön az "example" nevű(címkéjű) tömb és minden egyes elem kap egy 0 kezdési értéket, amire igazából nincs(vagy nem mindig van) szükséged. Ez azért nem kis folyamat, hiszen 4500x állítja be 0-ra, ami önmagában is sok, pláne egy hosszasabb ciklusban.

Kód:
decl String:example[4500];


Itt viszont nem kap kezdési értéket, sok-sok memóriát spórolva.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: new decl
HozzászólásElküldve: 2013.01.15. 16:04 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Hihi, ez mókás :) Nincs inicialzálás :)
Annyit javítanék, hogy Stringnél NULL lesz az értéke, mintsem 0 (Másképp fogalmazva: üres string (""))

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: new decl
HozzászólásElküldve: 2013.01.15. 20:47 
Offline
Félisten

Csatlakozott: 2012.01.07. 21:10
Hozzászólások: 850
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 154 alkalommal
Szóval a kód szempontjából mindegy, hogy melyiket használom, mert ugyanúgy fog működni?

_________________
Megköszönni nem szégyen!
Csak kattints a Kép jelre. --->


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: new decl
HozzászólásElküldve: 2013.01.15. 21:51 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Természetesen nem. Lehet hogy a "felületen", az eredmény, amit látsz az lesz, de optimalizálás szempontjából nagyon nem mindegy.

HunGamer írta:
Szóval a kód szempontjából mindegy, hogy melyiket használom, mert ugyanúgy fog működni?

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: new decl
HozzászólásElküldve: 2013.01.16. 06:02 
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
Haladóknak decl, kezdőknek inkább new. Ha elfelejtesz értéket adni a decl-nek, lehet h a fordító elfogadja, de ha kiírod pl chatre, tuti kifagy.


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  [ 13 hozzászólás ]  Oldal 1 2 Következő


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 3 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