En plus de la possibilité de créer des références de données typées à
l'aide de l'opérateur &
, Rust nous donne la possibilité de créer des
structures similaires aux références (en anglais reference-like) appelées
pointeurs intelligents.
Les références peuvent être vues comme un type qui nous donne accès à un autre type. Les pointeurs intelligents peuvent faire la même chose que les références et plus encore, c'est au programmeur de définir la logique interne d'un pointeur intelligent. La partie intelligente est le programmeur.
Les pointeurs intelligents implémentent généralement les traits Deref,
DerefMut et Drop pour spécifier le comportement du pointeur lorsque la
structure est déréférencée avec les opérateurs *
et .
.