J'ai rencontré un certain nombre de types dans Rust désignés par une seule apostrophe:
'static
'r
'a
Quelle est la signification de cette apostrophe? C'est peut-être un modificateur de références ( &
)? Typage générique spécifique aux références? Je n'ai aucune idée de l'endroit où se cache la documentation.
Réponses:
Ce sont les vies nommées de Rust.
Citant le langage de programmation Rust :
Autrement dit, une durée de vie se rapproche de la durée d'exécution pendant laquelle les données vers lesquelles une référence pointe sont valides. Le compilateur Rust en déduira de manière conservatrice la durée de vie la plus courte possible pour être sûr. Si vous voulez dire au compilateur qu'une référence dure plus longtemps que l'estimation la plus courte, vous pouvez la nommer en disant que la référence de sortie, par exemple, a la même durée de vie qu'une référence d'entrée donnée.
La
'static
durée de vie est une vie spéciale, la plus longue de toutes les vies - pour la durée du programme. Un exemple typique est la chaîne "littéraux" qui sera toujours disponible pendant la durée de vie du programme / module.Vous pouvez obtenir plus d'informations à partir de cette présentation de diapositives , en commençant par la diapositive 29.
Lifetimes in Rust aborde également les durées de vie en profondeur.
la source