SA-MP Forums Archive
[Ajuda] qual a diferenзa entre static e new ? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] qual a diferenзa entre static e new ? (/showthread.php?tid=531682)



qual a diferenзa entre static e new ? - Duun - 14.08.2014

isso й uma dъvida, qual a diferenзa disso :

Код:
new aiqdelicia[MAX_PLAYERS];
pra isso :


Код:
static aiqdelicia[MAX_PLAYERS];



Re: qual a diferenзa entre static e new ? - WLSF - 14.08.2014

variбveis do tipo new sгo destruнdas quando o escopo do cуdigo й encerrado.

pawn Код:
stock teste() {

new x = 10;
printf("%d", x);
x = 9;

}
O valor a ser imprimido serб o 10, e quando chamar o mйtodo novamente, ele irб imprimir 10 tambйm, por ter criado uma nova variбvel, se vocк utilizasse uma variбvel static no lugar, ao chamar o mйtodo novamente, seria imprimido 9, pela referкncia da variбvel estar na memуria ainda.

pawn Код:
stock teste() {

static x = 10;
printf("%d", x);
x = 9;

}

main() {

teste();  //imprimiu 10
teste();  //imprimiu 9

}



Re: qual a diferenзa entre static e new ? - RoacH` - 14.08.2014

new pode ser modificada e nгo й acumuluda, sempre й destruida .
static pode ser modificada tambйm, porйm, й acumuluda, isto й, nгo й destruida .


Re: qual a diferenзa entre static e new ? - Dolby - 14.08.2014

Statics globais sгo como variбveis declaradas utilizando a keyword new, porйm existem apenas no mesmo arquivo em que foi declarada. Ou seja, se vocк declarar uma static global no arquivo Include, e chama-lo em outro script como uma include, vocк nгo conseguira acessar seu valor.

Statics locais como jб foi citado acima, mantem seu valor mesmo apos sua execuзгo, diferente das variбveis declaradas com a keyword new.


Abraзos.


Re: qual a diferenзa entre static e new ? - Duun - 14.08.2014

Ok entendi galera.

Sу mais uma dъvida, suponhamos que meu servidor tenha no mбximo 60 players. Se eu alterar a definiзгo MAX_PLAYERS lб na include do a_samp, os comandos que envolvem Max_players, ou os Loops vгo ficar mais rбpidos ? Pq ta definido 500 lб na include.


Re: qual a diferenзa entre static e new ? - RoacH` - 14.08.2014

Sim, digamos que isso й uma forma de "optimizaзгo" й claro que nгo й algo tгo presintivel, assim como vocк pode fazer com MAX_VEHICLES..


Re: qual a diferenзa entre static e new ? - Bruno13 - 14.08.2014

Certamente sim, ou entгo use o mйtodo de GetMaxPlayers(); no lugar que irб obter o mбximo de players definido em server.cfg na pasta raiz. E tambйm hб outra alternativa, o uso da include foreach, para loops mais rбpidos.


Re: qual a diferenзa entre static e new ? - Rodney Francalim - 14.08.2014

Ah! Nгo recomendo o uso do GetMaxPlayers();, como dito no tуpico Pequenas Otimizaзхes do ipsBruno, й melhor definir o MAX_PLAYERS para o nъmero mбximo de slots do server.


Re: qual a diferenзa entre static e new ? - zSuYaNw - 14.08.2014

Aposto 100 mil em barras de ouro(que valem mais que dinheiro by Silvio Sants) que se vocк procura-se utilizando a ferramenta Search vocк encontraria a resposta, e muitas outras!