Y compris quelques mathématiques dans mon code, je suis tombé sur la constante "PI". Au moins dans mon Xcode version 4.6, je pourrais utiliser l'un ou l'autre. Mais quelle est la différence entre pi
et M_PI
? La documentation est un peu serrée sur ce sujet.
pi
est défini dans les en-têtes "CarbonCore.framework" comme
extern const double_t pi __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA);
mais marqué comme "obsolète". Je suppose qu’il s’agit d’une relique des anciens cadres Carbon.
M_PI
est défini comme une macro
#define M_PI 3.14159265358979323846264338327950288
dans math.h
et une partie de la norme POSIX.
Les valeurs sont identiques, mais vous devez utiliser M_PI
pour des raisons de portabilité.
(Et pour Swift, voir Comment obtenir une constante mathématique en Swift .)
M_PI est suffisamment proche pour se rapprocher de la circonférence de la galaxie (et probablement de tout l'univers) dans un rayon de quelques kilomètres, pour que je ne perde pas le sommeil à cause de cela.