notamment le fait que quand tu fais un appel à ma_fonction (x) ça peut être soit une copie, soit un move qui va transférer la «propriété» de la variable x à la fonction ma_fonction, ce qui empêche d'utiliser à nouveau la variable par la suite dans la fonction appelante
Si tu ne veux ni transférer la propriété de l'objet à la fonction, ni le copier, tu peux le passer soit en référence (&o), soit en référence mutable (&mut o) ; ce qui correspond à peu près à respectivement const t& et t& en C++. Au final, les mécanismes de passage de paramètres sont grosso modo semblables à ceux de C++, à part le passage avec transfert de propriété (celui qui interdit de réutiliser l'objet après l'appel).
[^] # Re: Premières impressions
Posté par lockidor . En réponse à la dépêche Rust 1.0, entrée dans la période stable. Évalué à 5.
Si tu ne veux ni transférer la propriété de l'objet à la fonction, ni le copier, tu peux le passer soit en référence (
&o), soit en référence mutable (&mut o) ; ce qui correspond à peu près à respectivementconst t&ett&en C++. Au final, les mécanismes de passage de paramètres sont grosso modo semblables à ceux de C++, à part le passage avec transfert de propriété (celui qui interdit de réutiliser l'objet après l'appel).