Bonjour à tous
A priori, j'ai l'impression que l'idome Pimpl présente que des avantages et aucun défaut (juste une indirection supplémentaire). Cet idome est utilisé dans la majorité des classes de Qt. Les avantages sont :
- de faciliter la compatibilité binaire. Voir Pensées sur la compatibilité binaire de Thiago Macieira ;
- d'améliorer la stabilité de l'interface publique (en permettant de pouvoir changer la partie private de la classe sans avoir à recompiler l'ensemble des dépendances). Voir Guru of the Week #100 et Guru of the Week #101 de Sutter ;
- de diminuer les temps de compilation (en minimisant les dépendances dans les fichiers d'en-tête).
Donc, quand faut-il utiliser Pimpl ? Ou plus précieusement, quand ne pas l'utiliser et pourquoi ?
Partager