Bonjour,

je viens d'hériter d'un code et je remarque les lignes suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
// fichier toto.c
 
static float sqrarg;
 
 
// fichier toto.h
#define SQR(a) 		((sqrarg = (a)) == 0.0 ? 0.0 : sqrarg * sqrarg)
Quel est l'interêt de tout cela?
Y a t'il une raison a toute cette "complication"?

Ne peut on pas plutot faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
#define SQR(a) 		(a) a * a

Merci