Hola a todos cuando escribo una implementación de lista de matriz, entiendo que es importante establecer Item(x)
en nulo cuando se elimina (en lugar de simplemente quantity -= 1
) para evitar pérdidas de memoria.¿Las matrices de primitivas "distintas de cero" requieren más memoria?
Sin embargo, si mi lista de arreglos es una lista de arreglos primitivos (respaldada por int[]
), ¿tiene sentido establecerla en 0?
Del mismo modo, para una lista de matrices de caracteres primitivos (respaldados por un char[]
), cuando se invoca RemoveRange(), ¿tiene sentido llenar ese rango con \u0000
? ¿O está totalmente bien simplemente actualizar el length
y los punteros sin modificar la matriz de respaldo?
es una matriz de enteros llenos de ceros posiblemente menos memoria que ocupa de una matriz de longitud igual lleno de valores enteros debido a que el tiempo de ejecución podría hacer optimizaciones?
Si no recuerdo mal, la respuesta a esta pregunta es un poco ilógico. Dejaré que alguien más inteligente haga la explicación solo porque mi memoria es demasiado confusa sobre el tema. – Esko
Es muy tentador confirmar falsamente que un int [] se vuelve más grande cuanto mayores son los números que uno posee. ¿Algunas personas no tienen un modelo de cómo funciona una computadora? – Ingo
optimizaciones @Ingo que pensaba podrían hacerse si todos fueran el mismo valor (es decir, 0) – Pacerier