Pe lângă abilitatea de a crea referințe la tipuri de date existente folosind operatorul &
, limbajul Rust ne oferă posibilitatea
de a crea structuri asemănătoare cu referințele numite pointeri inteligenți.
Ne putem gândi la referințe de nivel înalt ca la un tip ce ne oferă acces la alt tip. Pointerii inteligenți se comportă diferit față de referințele normale, operând după o logică internă, scrisă de programator. Tu — programatorul — reprezinți partea inteligentă.
De obicei pointerii inteligenți implementează trait-urile Deref
, DerefMut
, și Drop
pentru a specifica logica a ce ar trebui să se întâmple când
structura este dereferențiată folosind operatorii *
și .
.