Salut !

J'ai une petite question sur le "pimpl idiom" (ou peu importe comment vous l'appelez ) : 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ...

Merci !