Bonjour,

à mon taf j'ai un .h qui définit des classes ou des typedef pour 3 types de nombres flottants de taille 4/8 et 10 (ça fait 9 types en tout), et 5 types de string donc certaines sont des classes template <int size> donc de taille statique.

La plupart des opérateurs de conversion, comparaison, etc., entre ces différents types sont implémentés plus ou moins aléatoirement (le but étant que ça marche).

Le problème c'est que régulièrement quand on code, on se retrouve avec des << ambiguous operator match >> , ou au contraire avec des << unable to convert from X to Y >>.

Dans l'idée d'essayer de rendre tout ça un peu plus propre, j'aimerais savoir quels sont les différents design pattern permettant de résoudre le problème des conversions entre différents types ayant plus ou moins la même sémantique mais pas la même implémentation (string avec un 0 à la fin ou non, flottant de taille 8 passé en paramètre dans la pile du fpu ou dans la pile du cpu, etc..).

- Je pense qu'un design pattern qui marche dans le cas général est :
n'implémenter aucun opérateur de conversion de type operator= , et donc convertir explicitement dans le code avec des méthodes ToX(), ToY()
- Quels sont les autres design pattern ?

Merci beaucoup !