Índice:

C tem coletor de lixo?
C tem coletor de lixo?

Vídeo: C tem coletor de lixo?

Vídeo: C tem coletor de lixo?
Vídeo: SE LIGA NA PROFISSÃO - COLETOR DE LIXO 10-08-2022 2024, Dezembro
Anonim

C faz não tenho automático coleta de lixo . Se você perder o controle de um objeto, você tenho o que é conhecido como 'vazamento de memória'. A memória ainda será alocada para o programa como um todo, mas nada será capaz de usá-la se você perder o último ponteiro para ela. O gerenciamento de recursos de memória é um requisito fundamental em C programas.

Levando isso em consideração, o lixo C é coletado?

C ++ não precisa de um coletor de lixo , porque não tem lixo . No C ++ moderno, você usa ponteiros inteligentes e, portanto, não tem lixo.

Além disso, qual é o papel do coletor de lixo? Coletores de lixo estão no comando de coletando e removendo desperdício e materiais recicláveis para processamento posterior. Trabalho típico obrigações listado em um Coletor de lixo currículo de exemplo está operando desperdício veículos de coleta, seguindo a rota designada, coletando recusar e reportar aos supervisores.

Então, o que é a coleta de lixo C?

Coleta de lixo (GC) é um mecanismo que fornece recuperação automática de memória para blocos de memória não utilizados. Os programadores alocam memória dinamicamente, mas quando um bloco não é mais necessário, eles não precisam devolvê-lo ao sistema explicitamente com uma chamada free ().

Como você faz um coletor de lixo?

A maneira mais simples de implementar um coletor de lixo é:

  1. Certifique-se de que você pode comparar as raízes globais.
  2. Certifique-se de que você pode atravessar o heap, por exemplo, cada valor no heap é um objeto que implementa um método Visit que retorna todas as referências desse objeto.
  3. Mantenha o conjunto de todos os valores alocados.

Recomendado: