Bonjour,

j'ai implémenté une bibliothèque mylib que j'aimerais diffuser. Cette bibliothèque effectue plusieurs tâches également réalisées par une autre bibliothèque otherlib déjà disponible et dont je ne suis pas l'auteur. Supposons qu'un développeur souhaite intégrer ces deux bibliothèques dans un code en laissant libre choix à ses utilisateurs d'utiliser mylib ou otherlib. Pour gérer ce genre de choses, j'ai l'habitude de voir des instructions pré-processorales du type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
#ifdef MYLIB 
// définitions à partir de mylib
#else
#ifdef OTHERLIB
// définitions à partir de otherlib
#endif
#endif
J'ai deux questions à ce sujet :
1. existe-t-il un mécanisme équivalent correspondant mieux à la philosophie C++?
2. si la réponse à 1. est négative, où définir MYLIB dans ma bibliothèque? En forçant l'inclusion d'un fichier d'en-tête mylib.h ou peut-on s'en passer?

Merci beaucoup!