Memorie
Aplicațiile scrise în Rust au 3 zone de memorie unde este stocată informație:
- memoria pentru date - pentru date care sunt de dimensiune fixă și sunt statice (adică mereu disponibile pe toată durata rulării aplicației).
Considerați textul din programul dumneavoastră (ex: "Hello World!"): memoria ocupată (bytes) de acest text este citită dintr-un singur loc în cod
deci poate fi stocat în această zonă de memorie. Compilatoarele fac foarte multe optimizări
pentru acest tip de date și folosirea lor în general este considerată foarte rapidă, pentru că
locația lor este cunoscută și fixă.
- memoria pentru stivă (stack) - pentru date declarate ca variabile în interiorul unei funcții (variabile locale).
Locația în memorie a acestor date nu se schimbă pe durata apelului funcției; datorită acestui lucru compilatoarele
pot optimiza codul astfel încât datele din stivă se accesează foarte rapid.
- memoria pentru alocare dinamică (heap) - pentru date care sunt create în timpul rulării aplicației.
Datele în această zonă de memorie pot fi adăugate, mutate, șterse, redimensionate, etc. Din cauza
naturii sale dinamice, este în general considerată mai lentă, dar această zonă permite
utilizări mult mai creative ale memoriei. Când adăugăm date în această zonă de memorie,
numim această operație alocare (de memorie). Când ștergem date din această zonă de memorie, numim această operație
dealocare (de memorie).