Ciao a tutti quando si scrive un'implementazione di una lista di array, capisco che è importante impostare Item(x)
su null quando viene rimosso (invece di semplicemente quantity -= 1
) in modo da evitare perdite di memoria.Le matrici di primitive "non zero" richiedono più memoria?
Tuttavia, se il mio elenco di array è un primitivo elenco di array int (supportato da un int[]
), ha senso impostarlo su 0?
Analogamente, per un elenco di caratteri primitivi (supportato da un char[]
), quando viene chiamato RemoveRange(), ha senso riempire tale intervallo con \u0000
? O è del tutto normale aggiornare semplicemente il length
e i puntatori senza modificare l'array di supporto?
è un array di int riempiti con zeri eventualmente meno memoria occupante di un array di lunghezza pari riempito con valori interi perché il runtime potrebbe rendere ottimizzazioni?
Se ricordo male, la risposta a questa è un po 'illogica. Lascerò a qualcuno più intelligente di fare la spiegazione solo perché la mia memoria è troppo confusa sull'argomento. – Esko
È molto allettante confermare falsamente che un int [] diventa il più grande dei numeri più grandi che uno tiene. Alcune persone non hanno alcun modello di come funziona un computer? – Ingo
@Ingo Stavo pensando che potrebbero essere fatte ottimizzazioni se avessero tutti lo stesso valore (cioè 0) – Pacerier