Zurück zur Übersicht

Begriff

Ownership (Rust)

Programming Languages Theory S4
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Das Herz von Rust. Drei Regeln:

  1. Jeder Wert hat eine Variable als Owner (Besitzer).
  2. Es kann immer nur einen Owner gleichzeitig geben.
  3. Wenn der Owner "out of scope" geht (die Funktion endet), wird der Wert sofort gelöscht (Drop).

Beispiel: Du gibst mir ein Buch (Variable übergeben). In Java: Wir beide haben eine Referenz auf das Buch. (Wer löscht es? GC!). In Rust: Du gibst mir das Buch. Jetzt gehört es mir. Du hast es nicht mehr (Variable ungültig). Wenn ich fertig bin, verbrenne ich es (Free). Das verhindert "Double Free" und "Memory Leaks" komplett ohne GC.

Merksatz: Ein Speichermanagement-Konzept in Rust, das sicherstellt, dass jeder Speicherbereich genau einen verantwortlichen Eigentümer hat, der automatisch für die Freigabe des Speichers sorgt, sobald er nicht mehr benötigt wird.


Quick-Check

  1. RAII?
    Ja. Resource Acquisition Is Initialization. Ownership ist die konsequente Durchsetzung von RAII. Nicht nur für Speicher, auch für Dateien, Sockets, Locks.
  2. Nervt das?
    Am Anfang ja. Extrem. Aber nach 2 Wochen "klickt" es, und du verstehst, wie Speicher wirklich funktioniert.
  3. C++?
    C++ hat unique_ptr (ähnlich wie Ownership). Aber C++ erzwingt es nicht. Man kann immer noch "rohe Pointer" nutzen und alles kaputt machen. Rust erzwingt Disziplin.