HEAPCOLLECTOR

Signaler
Messages postés
229
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
20 août 2014
-
Messages postés
6
Date d'inscription
vendredi 4 décembre 2009
Statut
Membre
Dernière intervention
28 janvier 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50971-heapcollector

Messages postés
6
Date d'inscription
vendredi 4 décembre 2009
Statut
Membre
Dernière intervention
28 janvier 2011

Ah, les design-patterns!
Ca tombe bien j'ai un bouquin la dessus.
Merci de ta coopération très constructive.
Je vais mer renseigner sur le sujet.
Messages postés
229
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
20 août 2014

une chose que j'avais oublié, ta classe n'est sensée être instanciée qu'une seule fois n'est ce pas ?
auquel cas, il serait intéressant et logique qu'elle soit basée sur un singleton

je t'invite à te renseigner sur ce type particulier de classe

bon courage ;)

sinon je trouve que ta classe pourrait avoir une utilité si elle était couplée à un système de "pointeur intelligent" (smart_ptr) qui ferait lui même appel à ta classe lors des allocations, désallocations et copies de pointeurs
Messages postés
6
Date d'inscription
vendredi 4 décembre 2009
Statut
Membre
Dernière intervention
28 janvier 2011

Je remanie complètement cette source. Je vous tiendrai au courant des évolutions dans un avenir proche.
Messages postés
6
Date d'inscription
vendredi 4 décembre 2009
Statut
Membre
Dernière intervention
28 janvier 2011

Merci pour ton avis Shenron666.
Alors pour reprendre point par point ce que tu me reproche et tenter de t'éclairer sur ce que j'ai voulu obtenir je te repondrai ceci.

1- : C'est vrai que new et delete sont plus "propre" d'un point de vue conception c++. Il est prevu que j'utilise ces operateurs plutot que m/calloc () et free (). De plus tu as raison, comme je libere des objets alloués, il est possible que je doivent appeller implicitement un destructeur ce qui necessite l'emploi de delete ou de delete [] ce qui oblige l'utilisation de new et new []. Merci pour cette precision.

2- : C'est vrai je ne fais pas d'allocation de classe. Je vais mettre a jour mon code et fournir un autre fichier d'exemple ce soir avec l'utilisation de new et delete.

3- : Sans utiliser de template, je ne peux en aucun cas faire d'allocation, tout du moins pas sur un type complexe comme une classe qui exigerait l'appel d'un constructeur. Et ce n'est pas ce que j'ai voulu faire de toute maniere. new le fais tres bien! :)

Pour conclure, ce que j'ai voulu programmer c'est un outil qui rammasse tout ce qu'on fait dans un programme et liberer ca tout seul si on ne s'occupe plus de ce qu'on stocke. Cette classe est concue pour n'etre instanciée qu'une seule fois dans un programme et stocker/trier tout ce qu'elle peut stocker grace aux tags. Pour l'avenir je vais m'en servir.
Merci d'avoir passé du temps a lire mon code apparemment compliqué ;)
Je vais le mettre a jour et si tu as le temps, n'hesites pas a me reprocher d'autre petites choses qui me permettront de l'ameliorer!
Cordialement.
Afficher les 9 commentaires