Newsgroup: it.comp.www.asp
Titolo: dichiarazione delle variabili

ciao a tutti
solo una curiosità;
la semplice dichiarazione delle varibili, comporta l'assegnazione di 
memoria, o questo avviene solo nel momento in cui le assegno un valore?
Marco P.

 valore?
Qui dovresti trovare le info
http://msdn2.microsoft.com/en-us/library/t7zd6etz.aspx
Effettivamente non mi sono mai posto il problema, ma che senso ha dichiarare 
una variabile per poi assegnarla più tardi o peggio non assegnarla del tutto?
--
Christian Paparelli
[Microsoft MVP Windows Server - IIS]
http://mvp.support.microsoft.com
http://italy.mvps.org
My blog: 
http://blogs.aspitalia.com/cp

 ha scritto nel messaggio 
news:474098d3$0$37204$4faf...@reader3.news.tin.it...

Non mi sono posto la domanda, però da logica dichiarandola occupi della 
memoria perchè disponi che il tuo programma riservi una allocazione xyz 
della memoria stessa per i tuoi scopi, poi se la utilizzerai o meno non ha 
più importanza. Solitamente si dichiarano prima di usarle per una questione 
di chiarezza di codice e per una logica di programmazione, ma effettivamente 
puoi anche valorizzarle senza dichiararle perchè viene fatto 
automaticamente. Infine, a meno che tu non abbia due miliardi di variabili 
delle quali ne utilizzerai una sola, puoi anche dichiararle tutte che la 
memoria sulle macchine odierne non ne risente. Ad ogni modo conviene 
dichiarale al momento che le utilizzi.
Ad esempio in una pagina asp che prevede diversi funzionamenti a seconda di 
eventuali parametri, conviene che la dichiarazione avvenga sotto quella 
determinata condizione.
Mettiamo di chiamare la pagina esempio.asp
-------
par=request.QueryString('par')
....
if par='prova1' then
var1='1'
......
end
if par='prova2' then
var2='2'
.....
end
ecc.....
Se chiamo esempio.asp non succede niente perchè manca il parametro e la 
variabile par non viene assegnata; se invece chiamo esempio.asp?par=prova1
allora viene eseguita solo la condizione 1.
Se invece avessi scritto
-------
par=request.QueryString('par')
var1='1'
var2='2'
if par='prova1' then
......
end
if par='prova2' then
......
end
ecc.....
allora verrebbe eseguita sì la condizione 1 ma allocherei memoria per 
entrambe le variabili anche se ne utilizzo una sola. 

 
Ciao e grazie per la risposta.
In effetti il quesito così come l'ho sinteticamente esposto può portare 
a dare la tua risposta, o potrebbe essere addirittura ignorato se 
consideriamo l'impatto dovrebbe essere pressoché nullo sulle prestazioni 
dei server attuali; mi sembrava giusto però pormelo perchè ultimamente, 
per evitare gli errori per doppia dichiarazione delle variabili dovuto 
all'uso dei file di inclusione, ho preferito riunire in un unico file 
tutte le variabili che uso più frequentemente all'interno del sito.
In questo modo, nelle singole pagine sono dichiarate solo le variabili 
in uso nella stessa.
Anche se formalmente giusto e `'prestazionalmente''  valido, questo 
comporta che alcune variabili sono dichiarate ma non utilizzate  e da 
qui il mio quesito.
A pensarci bene, per tagliare la testa al toro basterebbe lavorare senza 
l'obbligo delle dichiarazione esplicita ---- ma mi resterebbe sempre la 
curiosità si saperlo--.
Marco P.