Junior — Middle
Come viene effettuata la memorizzazione dei dati nell'area di memoria dinamica (heap)?
sobes.tech AI
Risposta dell'AI
La memoria dinamica (heap) è un'area di memoria dalla quale un programma assegna e libera memoria durante l'esecuzione secondo necessità.
La memorizzazione dei dati nell'heap avviene così:
- Quando si richiede memoria (ad esempio, tramite malloc in C o new in C++), viene allocato un blocco della dimensione necessaria.
- La memoria non è organizzata come uno stack, quindi gli oggetti possono trovarsi in posizioni arbitrarie.
- La gestione della memoria spetta al programmatore (in linguaggi senza garbage collector) o al garbage collector (in linguaggi con GC).
- Su iOS, usando Objective-C o Swift, gli oggetti vengono generalmente allocati nell'heap, e la gestione della memoria avviene tramite ARC (conteggio automatico dei riferimenti).
Esempio in Swift:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person = Person(name: "Ivan") // oggetto creato nell'heap