Ich habe in Rust eine Reihe von Typen gefunden, die mit einem einzigen Apostroph gekennzeichnet sind:
'static
'r
'a
Welche Bedeutung hat dieser Apostroph? Vielleicht ist es ein Modifikator von Referenzen ( &
)? Generische typspezifische Eingabe? Ich habe keine Ahnung, wo sich die Dokumentation dafür versteckt.
Antworten:
Dies sind Rusts benannte Lebenszeiten.
Zitat aus der Programmiersprache Rust :
Anders ausgedrückt, eine Lebensdauer entspricht in etwa der Ausführungsspanne, in der die Daten, auf die eine Referenz verweist, gültig sind. Der Rust-Compiler wird konservativ auf die kürzest mögliche Lebensdauer schließen, um sicher zu sein. Wenn Sie dem Compiler mitteilen möchten, dass eine Referenz länger als die kürzeste Schätzung lebt, können Sie sie benennen und sagen, dass die Ausgabereferenz beispielsweise dieselbe Lebensdauer wie eine bestimmte Eingabereferenz hat.
Die
'static
Lebensdauer ist eine besondere Lebensdauer, die am längsten gelebte aller Lebenszeiten - für die Dauer des Programms. Ein typisches Beispiel sind Zeichenfolgenliterale, die während der Lebensdauer des Programms / Moduls immer verfügbar sind.Weitere Informationen erhalten Sie von diesem Foliendeck , beginnend mit Folie 29.
Die Lebensdauern in Rust behandeln auch die Lebensdauern in einiger Tiefe.
quelle