Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Usando Smart Pointers na Linguagem Rust: Box,Rc,RefCell,Arc
Rating: 5.0 out of 5(9 ratings)
76 students

Usando Smart Pointers na Linguagem Rust: Box,Rc,RefCell,Arc

Empregue Smart Pointers em seus projetos Rust, usando as opções da biblioteca padrão: (Box, Rc, RefCell, Arc)
Last updated 6/2025
Portuguese
Portuguese [Auto],

What you'll learn

  • O que são e como funcionam os Smart Pointers em Rust.
  • Como usar Box<T> para armazenar dados na Heap.
  • Como usar Rc<T> para criar clones onde apenas o pointer é clonado e não os dados armazenados na Heap.
  • Como funciona o RefCell<T>, o qual permite alterar os dados na Heap.
  • Como funcionam as regras de empréstimo quando RefCell<T> é usado.
  • Como usar Rc<T> e RefCell<T> em conjunto.
  • Como pode surgir memory leak em um programa Rust que usa Smart Pointers.
  • Qual a diferênça entre referências fortes e referências fracas.
  • Como usar referências fracas para evitar o cenário de memory leak.
  • Como funciona o trait Deref junto com Smart Pointers.
  • Como criar Threads para executar várias partes do programa ao mesmo tempo.
  • Qual o propósito do Arc<T> quando threads são usadas.
  • Como usar Arc<T> e Mutex na programação com múltiplas threads.

Course content

6 sections27 lectures5h 6m total length
  • Objetivo, Método e Pré-Requisitos6:22
  • O que são Smart Pointers em Rust ?13:04
  • Instalando o Rust7:31
  • Instalando Visual Studio Code8:08
  • Executando os Exemplos do Curso2:52

Requirements

  • Ter feito o meu Curso Básico de Linguagem Rust na Udemy ou ter o conhecimento equivalente.
  • Veja a descrição do curso básico em https://www.udemy.com/course/curso-basico-de-linguagem-rust/
  • NÃO precisa saber NADA sobre Smart Pointers.

Description

Uma das principais características da linguagem Rust é o rigor do Borrow Checker embutido no compilador. Ele garante que o código compilado não terá erros do tipo "pointer perdido" com em outras linguagens. Entretanto, o preço pago é uma certa limitação no uso de estruturas de dados incluindo referências, especialmente referências mutáveis.

Smart Pointers na linguagem Rust são uma maneira de reduzir as limitações impostas pelo Borrow Checker, sem perder as garantias dadas pelo compilador Rust. Ao mesmo tempo é possível exercer um pouco mais de controle sobre a alocação e liberação de memória.

Este curso trata do uso dos Smart Pointers disponíveis na biblioteca padrão do Rust. São eles: Box<T>, Rc<T>, RefCell<T>, Arc<T>. Cada um deles corresponde a uma seção do curso onde são apresentados os seus propósitos, funcionamento e forma de uso.

É suposto que o aluno conhece o básico de Rust. Por exemplo, fez o curso Curso Básico de Linguagem Rust na Udemy ou tem o conhecimento equivalente. É suposto que o aluno NÃO CONHECE NADA sobre Smart Pointers.

As aulas são conduzidas através de exemplos com programas compiláveis e executáveis. Todos os programas exemplo usados estão disponíveis para download. Durante as aulas o instrutor utiliza o Visual Studio Code, mas o aluno acostumado com outra IDE (Ambiente Integrado de Desenvolvimento) poderá utilizá-la também.

Os Smart Pointers em Rust são apresentados e explicados através dos programas exemplo. São abordados temas tais como a alocação de memória na Heap usando Box<T>, a geração de pointers que podem ser clonados com Rc<T>, o emprego de pointers que permitem mutabilidade interior com RefCell<T>, e o emprego de Smart Pointers no contexto de múltiplas threads com Arc<T>.


Who this course is for:

  • Pessoas que fizeram um curso básico de Rust e agora querem continuar com os temas mais avançados da linguagem.
  • Programadores em geral que estão conhecendo Rust agora e não tem experiência prévia com Smart Pointers.
  • Desenvolvedores de software interessados em conhecer a linguagem de programação Rust.
  • Alunos de graduação e pós-graduação em cursos de informática e engenharia interessados em expandir seus conhecimentos de linguagens de programação.
  • Os alunos do curso poderão utilizar o sistema operacional e o ambiente de programação com o qual já estão acostumados, dado que a linguagem Rust é suportada por todos os principais ambientes.