Bonsoir à tous,
Dans ma petite application qui gère des plugins, j'ai eu dans l'idée première de créer une architecture assez souple pour ne pas avoir besoin d'être recompilée à chaque ajout d'un plugin.
Dans cette optique j'ai essayé de créer un conteneur possédant un pointeur vers n'importe quel objet dispo dans mes plugins. En commençant avec un joli void* (faut bien commencer quelque part ... autant que ça soit dans le mur), je me suis rendu compte que le delete void* ne passait pas forcément très bien ... j'ai donc opté pour une classe de base ne possédant qu'un constructeur vide et un destructeur virtuel. Bien évidemment avec mes gros doigts j'ai fait un peu de temps en temps de cast implicite sur des objets n'ayant un peu rien à voir (du genre des fenêtres SFML) et à la fin BAM, non pas des chocapics, mais un joli mais prévisible HEAP CORRUPTION
Alors là du coup j'ai 2-3 choix qui s'offrent à moi : re du void* en castant correctement quand il faut faire les delete, ce qui allourdit pas mal mon usine à gaz, ou passer par des conteneurs tout faits STL (s'il en existe).
Please Help![]()
Partager