Zig Academy · Aula

Por que Zig não tem alocações ocultas

A alocação é sempre recebida explicitamente.

Aula 1 de 413 etapas

Por que Zig não tem alocações ocultas é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Zig Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Zig Academy inclui 4 aulas no total.

A memória é explícita

Em Zig, nenhuma função da biblioteca padrão obtém silenciosamente memória do heap. Se o código precisa alocar, deve declarar isso explicitamente. 📦

Você fornece o Allocator

Tudo que aloca recebe um Allocator como parâmetro. A memória não pode surgir a menos que você forneça à função a ferramenta para criá-la.

fn buildList(allocator: std.mem.Allocator) !void {}

Nenhuma palavra-chave new oculta

Zig não tem o operador new nem um coletor de lixo. Nada acessa o heap às suas costas como acontece em muitas linguagens.

Por que isso importa

Como a alocação é visível, você sempre sabe de onde vem a memória. Isso é essencial para chips embarcados, núcleos de sistemas e laços de jogos com alta exigência de desempenho.

Leia a assinatura

Uma função que pode alocar mostra isso em sua assinatura: ela recebe um Allocator e geralmente retorna uma união de erro com !.

fn dupe(a: std.mem.Allocator, s: []const u8) ![]u8 {}

A pilha é gratuita

Variáveis locais simples vivem na pilha e não precisam de um Allocator. Você só recorre a um quando um valor precisa sobreviver à função ou crescer durante a execução.

var x: i32 = 5; // stack, no allocation

A alocação pode falhar

Solicitar memória do heap pode falhar, portanto as funções de alocação retornam um erro. Você deve tratar uma possível situação OutOfMemory e nunca ignorá-la.

Você é proprietário do que cria

Quem chama o Allocator é proprietário do resultado e precisa liberá-lo. Zig nunca libera sua memória por você, portanto a propriedade é sempre clara.

Troque Allocator livremente

Como o Allocator é um parâmetro, você pode trocar estratégias sem mudar a lógica. Os testes usam um Allocator, e a produção usa outro.

As bibliotecas permanecem transparentes

Uma biblioteca bem escrita nunca oculta uma alocação. Ela aceita seu Allocator, permitindo que você controle a memória até mesmo dentro do código de outras pessoas.

Previsível por projeto

Essa regra faz parte da promessa de Zig de não ter fluxo de controle oculto. A alocação explícita mantém os programas previsíveis e fáceis de analisar. ✅

Verificação rápida

Lembre-se de como uma função Zig obtém a capacidade de alocar.

Recapitulação

Você viu que Zig não tem alocações ocultas: a memória só vem por meio de um Allocator que você fornece, e você é proprietário de tudo o que cria e deve liberá-lo. 🎯

Grátis para começar

Aprenda Zig com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Por que Zig não tem alocações ocultas” é grátis?

Sim — o texto completo de “Por que Zig não tem alocações ocultas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Zig Academy, atualize para CoddyKit PRO. O curso de Zig Academy inclui 4 aulas no total.

O que vou aprender em “Por que Zig não tem alocações ocultas”?

A alocação é sempre recebida explicitamente. Você pratica Zig Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Zig Academy?

Nenhuma experiência prévia é necessária. Zig Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Por que Zig não tem alocações ocultas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Zig Academy?

Sim. Cada aula de Zig Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Por que Zig não tem alocações ocultas
  2. A interface de alocação
  3. alloc, free, create, destroy
  4. Listas dinâmicas com ArrayList
← Voltar para Zig Academy