Pimpl, Opaque pointers, Cheshire cat .... sans alloc ! :)
Salut !
J'ai une petite question sur le "pimpl idiom" (ou peu importe comment vous l'appelez :wink: ) : est-il possible de l'implémenter sans faire d'allocation à chaque instanciation de la classe ?
Je voudrais l'utiliser pour proposer 2 implémentations d'une classe (avec une chaine ou un CRC). Cette classe est utilisée partout, donc j'aurais voulu un flag dans le fichier CPP pour changer d'implémentation sans avoir à recompiler le reste du projet.
Est-ce que vous voyez une autre solution que le pimpl pour implémenter ça, ou alors est-il possible d'éviter l'allocation dynamique à chaque construction (les performances sont très importantes) ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [H]
class Key
{
.... // interface publique qui ne change pas
};
[CPP]
#define USE_STRINGS 1 // a modifier
#if USE_STRINGS
... // implementation avec des strings
#else
... // implementation avec des CRCs
#end |
Vous voyez le truc ... :wink:
Merci !