Bonjour,
quelqu'un pourrait m'expliquer en quoi la présence du destructeur même vide est indispensable :
http://stackoverflow.com/questions/3...or-pimpl-idiom
voir la première réponse
Merci!
Bonjour,
quelqu'un pourrait m'expliquer en quoi la présence du destructeur même vide est indispensable :
http://stackoverflow.com/questions/3...or-pimpl-idiom
voir la première réponse
Merci!
Bonjour,
Si tu ne définis pas de destructeur explicitement, il sera généré automatiquement par le compilateur, la ou MyClass.h est inclus. Hélas, le seul endroit ou la class Pimpl est définis, c'est MyClass.cpp. Il en résulte que l'auto_ptr va tenter de détruire un type non définis. Il me semble que ca compile, mais que la destruction n'est pas effectuée.
Ce qu'il faut retenir, c'est que l'auto_ptr n'est pas adapté au pimpl idiom.
La présence du destructeur est indispensable, mais dans le .cpp et pas inlinée dans le .h.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Ou tu inclues le fichier où est la déclaration de pimpl, ce qui fait de lui un type complet et permet de générer un destructeur correct.
Ha oui pas faux :p j'ai justre considéré le probème technique en oubliant le contexte ...
Partager