Speicherverwaltung
Stack und Heap Unterschied
Abschnitt betitelt „Stack und Heap Unterschied“Welche der folgenden Aussagen beschreibt am besten den Unterschied zwischen Stack und Heap?
Frames im Stack sind einer bestimmten Funktion zugeordnet und werden freigegeben, wenn die Funktion zurückkehrt. Daten auf dem Heap können unbegrenzt lange existieren. Beachten Sie, dass sowohl Stack- als auch Heap-Daten veränderlich und kopierbar sein können. Der Heap darf Zeiger enthalten (sogar auf den Stack, wie wir später sehen werden).
Anzahl Kopien im Speicher
Abschnitt betitelt „Anzahl Kopien im Speicher“Betrachten Sie die Ausführung des folgenden Snippets, wobei der Endzustand angezeigt wird:
#fn main() {let a = Box::new(15);let b = a;let c = Box::new(15);#}Wie viele Kopien der Zahl 15 existieren im Endzustand irgendwo im Speicher? Schreiben Sie Ihre Antwort als Ziffer, z.B. 0 oder 1.
Die beiden Boxen enthalten die beiden Kopien der Zahl 15. Die Zuweisung let b = a kopiert den Heap-Zeiger, aber nicht die Zahl auf dem Heap.