O digamos el siguiente caso. Primero ArrayResize(arr, 10, 100); Luego ArrayCopy(arr, arr2, 0, 0, 20); ¿Se reducirá el tamaño de la memoria reservada para el array?
Por cierto, mi razonamiento sobre reserve_size no es del todo correcto. De hecho, es sólo un paso del cambio de la reserva, pero no la reserva en sí misma. Es decir, probablemente no se almacene en ningún sitio. Pero el tamaño total de la memoria asignada se conoce. Nos gustaría saberlo de alguna manera, e idealmente gestionarlo directamente.
Y reformularé mi sugerencia sobre ArrayResize de la siguiente manera: al especificar reserve_size=-1, la función no debe cambiar el tamaño de la memoria asignada para el array si el parámetro size se encuentra dentro de este rango. Si size > capacidad, el buffer crecerá por supuesto.
¿Cómo puedo eliminar una URL de la lista de confianza? El texto de ayuda dice:"Para eliminar una dirección de la lista de confianza, selecciónela y pulse el botón "Eliminar"", pero no existe tal botón.
¿No es así como funciona el actual 0?
En general, hay mucha confusión ahí, no podemos saber el tamaño real de la memoria asignada para el array para comprobarlo y optimizarlo.
Si recuerdo bien la explicación, el tamaño de la reserva no disminuirá aunque se le dé explícitamente un número menor.
No es así. A juzgar por el ejemplo de la ayuda, el 0 funciona efectivamente como 0 y entonces la sugerencia del -1 tiene mucho sentido.
Y reformularé mi sugerencia sobre ArrayResize de la siguiente manera: al especificar reserve_size=-1, la función no debe cambiar el tamaño de la memoria asignada para el array si el parámetro size se encuentra dentro de este rango. Si size > capacidad, el buffer crecerá por supuesto.
La lógica para trabajar con asignados (código condicional):
El array ("inside") almacena el número de elementos del array.
La lógica del trabajo con asignados (código condicional):
Ya veo, gracias. ¿Y al principio esta asignación es igual a -1, o no? Es decir, en la llamada inicial de ArrayResize(arr, 0, 100) la asignación será?
¿Esta asignación al principio es igual a -1, o no?
Es decir, cuando se llama inicialmente a ArrayResize(arr, 0, 100), ¿se producirá la asignación?
La asignación sólo se produce si el tamaño de la matriz cambia hacia arriba. En este caso, el tamaño del array no cambia, porque era igual a 0.
La diferencia es que en el primer caso no hay error :)