[ROZWIĄZANE] Zmienne w funkcjach a pamięć...
Najlepsza odpowiedź K!113r 04.06.2013 17:10
Jest tworzona raz, po zakończeniu działania funkcji zamraża swoją wartość, przy kolejnym wywołaniu funkcji odmraża się jej wartość, słowem raz utworzona żyje sobie dalej po zakończeniu działania funkcji, więc lepiej jej użyć w np. prethinku, zamiast kilkadziesiąt razy na sekunde tworzyć zmienną lepiej ją zrobić raz. Odp. "Tak"
Przejdź do postu
Czaso Umilacz
03.06.2013
Witam,
nigdy się nad tym nie zastanawiałem ale naszło mnie pytanie, deklarując zmienną w funkcji np:
public Funkcja(){ new zmienna[1024]; return PLUGIN_CONTINUE; }
I teraz pytanie, kiedy zmienna będzie ładowana do pamięci RAM serwera?
Użytkownik Czaso Umilacz edytował ten post 03.06.2013 21:30
GwynBleidD
03.06.2013
Przy każdym wywołaniu funkcji będzie ona tworzona na stosie... Co jest bardzo złe w przypadku tak dużej tablicy. Przy deklaracji jako static będzie ona tworzona na początku każdej mapy.
Czaso Umilacz
04.06.2013
Czyli zmienna "new" jest tworzona co wywołanie funkcji, natomiast static jest raz zrzucana do pamięci?
Najlepsza odpowiedź
K!113r
04.06.2013
Jest tworzona raz, po zakończeniu działania funkcji zamraża swoją wartość, przy kolejnym wywołaniu funkcji odmraża się jej wartość, słowem raz utworzona żyje sobie dalej po zakończeniu działania funkcji, więc lepiej jej użyć w np. prethinku, zamiast kilkadziesiąt razy na sekunde tworzyć zmienną lepiej ją zrobić raz. Odp. "Tak"
Czaso Umilacz
04.06.2013
Dzięki, czas się zabawiać staticem, moja nowa obsesja w funkcjach