Verwaltung der Lebensdauer des Garbage Collectors in Rust: Wie gibt man Speicher richtig frei?
Hallo zusammen! Ich bin neu in Rust und komme von Java, wo alles einfach ist – der GC räumt den Speicher selbst auf. In Rust bin ich auf das Konzept von Ownership und Borrowing gestoßen und habe ein Problem.\n\nIch schreibe ein kleines Spiel, in dem es Objekte gibt, die für eine unbestimmte Zeit leben sollen. Zum Beispiel Kugeln, Gegner, Partikeleffekte. In Java würde ich einfach `new Bullet()` erstellen, und der GC würde sie automatisch entfernen, wenn sie den Gültigkeitsbereich verlassen. In Rust hingegen beschwert sich der Compiler über die Lebensdauer.\n\nHier ist ein vereinfachter Code, der nicht kompiliert wird:\n\n```rust\nstruct Bullet {\n x: f32,\n y: f32,\n alive: bool,\n}\n\nstruct Game {\n bullets: Vec,\n}\n\nimpl Game {\n fn spawn_bullet(&mut self, x: f32, y: f32) {\n // Fehler: Kann keinen Verweis auf self.bullets zurückgeben\n let bullet = Bullet { x, y, alive: true };\
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs
Fehlerbehandlung in C++: try, catch und moderne Ansätze
Entwurfsmuster in C++: Fortgeschrittene Techniken und Codebeispiele
Denken wie Angular, auch wenn du von jQuery kommst: Leitfaden 2025
Wie man Java-Entwickler wird: Tipps und Lebenslauf in der Praxis