[Ajuda] qual a diferenзa entre static e new ?
#1

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

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


Код:
static aiqdelicia[MAX_PLAYERS];
Reply
#2

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

}
Reply
#3

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

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.
Reply
#5

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.
Reply
#6

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..
Reply
#7

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.
Reply
#8

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.
Reply
#9

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!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)