¿Cuáles son las diferencias entre la asignación estática, dinámica y automática?Asignación estática vs. Asignación dinámica vs. Asignación automática
Respuesta
Habrá detalles específicos del idioma, pero la idea general es:
- estática: asignado al inicio del programa, existe para toda la vida del programa
- automática: asignado a la entrada en un bloque, existe para duración de ese bloque
La asignación dinámica requiere un poco más de explicación: se asigna cuando se asigna (por ejemplo, con algo así como 'nueva XXX'). En (la mayoría de las implementaciones de) C++, existirá hasta que lo elimine explícitamente. Con más idiomas más nuevos (por ejemplo, Java, C#) existirá hasta que el recolector de elementos no utilizados determine que ya no es accesible, momento en el que se destruirá automáticamente.
No todos los idiomas tienen las tres formas de asignación. En algunos casos (por ejemplo, Java), incluso si se admite una forma de asignación, existen restricciones tales como permitir la asignación automática para tipos incorporados, pero que requieren asignación dinámica para tipos de objetos (es decir, instancias de clases).
La asignación estática es la memoria que se ha reservado para una aplicación cuando se carga por primera vez. Esta sección de la memoria se mantiene para usarse solo con esa aplicación, y está disponible nuevamente una vez que se cierra el programa.
La asignación dinámica es la memoria que se asigna según sea necesario, y se desasigna/libera cuando ya no es necesaria. Montones y pilas son ejemplos de áreas de memoria que pueden asignarse dinámicamente.
- 1. Asignación vs Inicialización en C++
- 2. memcpy vs asignación en C
- 3. scanf asignación dinámica
- 4. asignación dinámica constante
- 5. Asignación de memoria dinámica
- 6. Asignación de clase estática
- 7. ¿En qué situaciones la asignación estática es mejor que la asignación dinámica?
- 8. Asignación de matrices grandes; OutOfMemoryException VS OverflowException
- 9. asignación dinámica de la memoria
- 10. ¿Qué hace esta asignación dinámica?
- 11. Asignación dinámica de memoria pregunta
- 12. montón vs segmento de datos vs asignación de pila
- 13. Asignación de memoria dinámica basada en disco
- 14. Asignación de memoria glib VS std * alloc y libre
- 15. Visual Studio Debugger - Asignación automática de variables
- 16. Factory Girl: Asignación automática de objetos principales
- 17. sprintf() con asignación de memoria automática?
- 18. La asignación automática no parece campos 'Nombre'
- 19. Asignación dinámica de funciones en Python
- 20. Memoria de asignación dinámica en la GPU
- 21. Asignación dinámica de una matriz de estructuras
- 22. Asignación dinámica de método/Método como variable
- 23. Asignación dinámica de memoria constante en CUDA
- 24. Asignación dinámica de clase derivada en C#
- 25. asignación de memoria dinámica en 'c' Cuestiones
- 26. Grupo de objetos frente a asignación dinámica
- 27. ArrayList vs LinkedList desde la perspectiva de asignación de memoria
- 28. agregación de la clase de diseño: asignación de la pila frente a la asignación de la memoria dinámica
- 29. 64bit Asignación de memoria
- 30. C cuestión de estilo # programación - Asignación de null antes de la asignación real