Wie erstelle ich einen Typ, der nur verschiebbar (move), aber nicht kopierbar (Copy) in Rust ist?
Hallo zusammen! Ich habe vor kurzem angefangen, Rust zu lernen und bin auf das Konzept des Besitzes (ownership) und die Traits Copy und Clone gestoßen. Soweit ich verstanden habe, implementieren primitive Typen wie i32 oder bool Copy, sodass sie bei Zuweisung kopiert werden und das Original verfügbar bleibt. Komplexere Typen wie String hingegen sind nur Clone, und bei Zuweisung werden sie verschoben (move).
Aber ich habe eine Frage: Kann ich selbst einen eigenen Typ (z.B. eine Struktur) erstellen, der sich wie String verhält – also nur verschiebbar ist und nicht versehentlich kopiert werden kann? Zum Beispiel möchte ich einen Typ erstellen, der eine eindeutige ID oder eine Ressource darstellt, die nicht dupliziert werden soll. Wenn ich einfach eine Struktur deklariere und derive(Clone, Copy) hinzufüge, wird sie bei jeder Zuweisung kopiert.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs
A/B-Testing in Java: Wie man nicht rät, sondern sicher weiß
Aufgabenwarteschlangen in Java: Ein praktischer Leitfaden mit Beispielen
Bereitstellung von Kotlin auf Kubernetes: Ein grundlegender Leitfaden für Anfänger
Die 10 besten C++-Frameworks für die Webentwicklung: Fortgeschrittenes Niveau