Table des matières:

C a-t-il un ramasse-miettes ?
C a-t-il un ramasse-miettes ?

Vidéo: C a-t-il un ramasse-miettes ?

Vidéo: C a-t-il un ramasse-miettes ?
Vidéo: Cat and Mouse | Critical Role | Campaign 2, Episode 128 2024, Novembre
Anonim

C fait ne pas ont automatique collecte des ordures . Si vous perdez la trace d'un objet, vous ont ce qu'on appelle une "fuite de mémoire". La mémoire sera toujours allouée au programme dans son ensemble, mais rien ne pourra l'utiliser si vous avez perdu le dernier pointeur vers celui-ci. La gestion des ressources mémoire est une exigence clé sur C programmes.

En tenant compte de cela, les ordures C sont-elles collectées ?

C++ n'a pas besoin de Éboueur , car il n'a pas des ordures . En C++ moderne, vous utilisez des pointeurs intelligents et n'avez donc pas des ordures.

Aussi, quel est le rôle du ramasse-miettes ? Éboueurs sont en charge de collecte et en enlevant déchets et des matériaux recyclables pour un traitement ultérieur. Travail typique fonctions inscrit sur un Éboueur exemple de CV fonctionnent déchets véhicules de collecte, suivant l'itinéraire désigné, collecte refuser et signaler aux superviseurs.

Justement, qu'est-ce que la collecte des ordures C ?

Collecte des ordures (GC) est un mécanisme qui fournit une récupération de mémoire automatique pour les blocs de mémoire inutilisés. Les programmeurs allouent dynamiquement de la mémoire, mais lorsqu'un bloc n'est plus nécessaire, ils n'ont pas à le renvoyer explicitement au système avec un appel free().

Comment fabrique-t-on un éboueur ?

La façon la plus simple d'implémenter un ramasse-miettes est:

  1. Assurez-vous que vous pouvez rassembler les racines globales.
  2. Assurez-vous que vous pouvez traverser le tas, par ex. chaque valeur du tas est un objet qui implémente une méthode Visit qui renvoie toutes les références de cet objet.
  3. Conservez l'ensemble de toutes les valeurs allouées.

Conseillé: