Bonjour, j'ai peur de poser une question un peu bête, mais j'aimerais en avoir le coeur net : est-ce que si je fais un calcul dans un #define, sera-t-il sera effectué lors de la compilation ? Je m'explique, je désire faire la chose suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
#define SQRT2 sqrt(2.)
#define CST1 -3./SQRT2
dans lors de la compilation, dès qu'il y a un SQRT2 ou un CST1, l'expression sera remplacée par sqrt(2.) et par -3./sqrt(2.). Mais dois-je plutôt écrire

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
#define SQRT2  1.414213562373095
#define CST1 -2.121320343559642  /* -3/sqrt(2.) */
pour être sûr que le code remplacé contiendra les valeurs numériques et non le calcul à refaire à chaque fois ? Je pense que les compilo doivent être suffisament développés pour faire cette optimisation tout seul (dois-je rajouter des options ?) mais j'aimerais en avoir le coeur net.

Autre question, d'un point de vu lisibilité, que vaut-il mieux faire : faire un fichie defines.h qui contient tous mes #define et que j'inclus donc dans chaque fichier source ou bien n'écrie que les #define correspondants à chaque fichier source ?

Merci.