Gerenciamento de Memória

Tradicionalmente, as linguagens se dividem em duas grandes categorias:

  • Controle total através do gerenciamento manual de memória: C, C++, Pascal, …
  • Segurança total através do gerenciamento automático de memória em tempo de execução: Java, Python, Go, Haskell, …

Rust oferece uma nova combinação:

Controle total e segurança por imposição do correto gerenciamento de memória em tempo de compilação.

Ele faz isso com um conceito de ownership (posse) explícito.

Primeiro, vamos rever como funciona o gerenciamento de memória.