Além da possibilidade de criar referências a dados tipados existentes usando o operador &
, o Rust nos dá a possibilidade de criar structs reference-like chamadas ponteiros inteligentes.
Grosso modo, podemos pensar nas referências como um tipo que nos dá acesso a outro tipo. Os ponteiros inteligentes são diferentes em seu comportamento das referências normais, pois operam com base na lógica interna que um programador escreve. Você — o programador — é a parte inteligente.
Normalmente os ponteiros inteligentes implementam as traits Deref
, DerefMut
e Drop
para especificar a lógica do que deve acontecer quando a estrutura é desreferenciada com os operadores *
e .
.