La memorizzazione di un valore in una variabile utilizza più RAM dell'utilizzo diretto?

0

Voglio dire, fa qualcosa, per esempio in C #, come

String test = "Test";
txtCtrl.Text = test;

consuma più RAM di appena

txtCtrl.Text = "Test";

Come si dice, una variabile è uno spazio riservato in memoria. Ma questo significa che non usare una variabile non "riserva" (consuma, prendi) uno spazio nella memoria?

    
posta Bruno Lopes 25.02.2016 - 04:48
fonte

2 risposte

5

Forse .

A seconda della tua lingua, del modo in cui la usi e di quanto sia intelligente il tuo compilatore, potrebbe richiedere o meno memoria. E anche se richiede più memoria, è probabile che richieda meno memoria (solo memoria per il riferimento ai dati, piuttosto che la totalità dei dati stessi).

Nel lungo periodo, l'utilizzo della memoria sarà irrilevante per l'utilizzo della memoria del tuo programma, mentre l'uso di variabili locali avrà di solito un impatto significativo sulla leggibilità del tuo programma.

Non ti preoccupare.

    
risposta data 25.02.2016 - 04:54
fonte
1

Probabilmente.

Poiché stai assegnando la stessa stringa a entrambi i contenitori, stai essenzialmente assegnando lo stesso riferimento di stringa. Quindi la stringa viene memorizzata solo una volta, ma il riferimento viene memorizzato in due punti.

Per dirla in un altro modo, string test contiene un riferimento a un oggetto stringa. La dimensione di tale riferimento è 4 byte in un ambiente CIL a 32 bit e 8 byte in uno a 64 bit . La stringa stessa è comunque lunga; ogni carattere Unicode consuma due byte, ma qui c'è solo una una stringa.

txtCtrl.Text contiene anche un riferimento, che punta allo stesso oggetto string .

    
risposta data 25.02.2016 - 04:52
fonte

Leggi altre domande sui tag