Lebensdauern (Lifetimes)(Rust Programmiersprache)

Aus ahrensburg.city
Version vom 3. März 2025, 10:42 Uhr von Thorsten (Diskussion | Beiträge) (// via Wikitext Extension for VSCode)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Lebensdauern (Lifetimes) in der Rust Programmiersprache ist ein Konzept, das sicherstellt, dass die Speicherbereiche, auf die eine Referenz verweist, gültig sind. In Rust wird die Lebensdauer durch eine Lebensdauerannotation angegeben, die in den Winkelschließklammern nach dem Funktionskopf steht. Diese Annotation stellt sicher, dass die Referenz auf einen gültigen Speicherbereich verweist.

Beispiel

fn main() {
    let x = 5;
    let y = &x;
    println!("x: {}", x);
    println!("y: {}", y);
}

Erklärung

In diesem Beispiel wird eine Variable `x` erstellt, die den Wert 5 enthält. Dann wird eine Referenz `y` auf `x` erstellt. Die Referenz `y` wird dann gedruckt. Da die Lebensdauer von `x` größer ist als die Lebensdauer von `y`, ist die Referenz `y` gültig. Daher wird der Wert von `y` gedruckt.

Arten von Lebensdauern

Es gibt drei Arten von Lebensdauern in Rust: 1. **Statische Lebensdauer**: Die Lebensdauer einer statischen Variable ist die Lebensdauer des gesamten Programms. Sie wird durch das Schlüsselwort `static` angegeben. 2. **Automatische Lebensdauer**: Die Lebensdauer einer automatischen Variable ist die Lebensdauer des Blocks, in dem sie deklariert ist. Sie wird durch das Schlüsselwort `let` angegeben. 3. **Benutzerdefinierte Lebensdauer**: Die Lebensdauer einer benutzerdefinierten Variable wird durch den Benutzer angegeben. Sie wird durch eine Lebensdauerannotation angegeben.

Zusammenfassung

Lebensdauern in Rust stellen sicher, dass Referenzen auf gültige Speicherbereiche verweisen. Dies wird durch Lebensdauerannotation erreicht, die nach dem Funktionskopf in Winkelschließklammern angegeben wird.