Să luăm drept exemplu niște pointeri inteligenți deja cunoscuți Vec<T> și String.
Vec<T> este un pointer inteligent ce deține o regiune din memorie. Compilatorul de Rust nu știe ce se află
în acei octeți. Pointerul inteligent interpretează ce înseamnă să ia un element din regiunea de memorie pe care o gestionează,
ține socoteala unde încep și unde se termină structurile de date ale acelor byți, și, în cele din urmă, dereferențiază un pointer simplu
în structuri de date cu o interfață simplă și ergonomică pe care le putem folosi (ex my_vec[3]).
Asemănător, String ține socoteala regiunilor de memorie are byților, și restricționează conținutul scris în acestea să fie mereu în formatul
utf-8 și ajută la dereferențierea acelei regiuni de memorie în tipul &str.
Ambele structuri de date folosesc dereferențierea nesigură a pointerilor simpli pentru a-și împlini scopul.
Detalii despre memorie: