Parenthèses, dans une macro, autour d'une valeur numérique

Le
Thoma
Bonjour,

Je cherche à me rafraichir la mémoire. Un jour, quelqu'un m'a convaincu
qu'il était utile de mettre des parenthèses autour d'une valeur
numérique si elle était définie par une macro. Par exemple,

#define ZERO (0) /* Juste pour l'exemple */

Par contre, je ne me rappelle absolument plus de la justification.
Pourriez-vous me donner une raison, si elle existe bien évidemment ?

D'avance merci

Thoma
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric Levenez
Le #18618321
Le 08/02/09 12:50, dans
Pourriez-vous me donner une raison, si elle existe bien évidemment ?



Faq §13.17

--
Éric Lévénez
FAQ de fclc :
Xavier Roche
Le #18618311
Eric Levenez a écrit :
Pourriez-vous me donner une raison, si elle existe bien évidemment ?


Faq §13.17



Oui mais non, pas pour une simple valeur numérique. Dans ce cas
particulier il n'y a amha aucun interêt à parenthéser.
Eric Levenez
Le #18618301
Le 08/02/09 17:09, dans
Eric Levenez a écrit :
Pourriez-vous me donner une raison, si elle existe bien évidemment ?


Faq §13.17



Oui mais non, pas pour une simple valeur numérique. Dans ce cas
particulier il n'y a amha aucun interêt à parenthéser.



Dans ce cas, oui, mais je pensais que l'OP parlait d'une valeur numérique en
général, et donc quelque chose comme 1 + 2.

--
Éric Lévénez
FAQ de fclc :
Charlie Gordon
Le #18620791
"Eric Levenez" C5B4C38D.E20CA%
Le 08/02/09 17:09, dans
Eric Levenez a écrit :
Pourriez-vous me donner une raison, si elle existe bien évidemment ?


Faq §13.17



Oui mais non, pas pour une simple valeur numérique. Dans ce cas
particulier il n'y a amha aucun interêt à parenthéser.



Dans ce cas, oui, mais je pensais que l'OP parlait d'une valeur numérique
en
général, et donc quelque chose comme 1 + 2.



Les parentheses sont inutiles pour une simple valeur numérique en effet,
mais elles sont nécessaires pour les expressions numériques comme tu le fais
remarquer. Certaines expressions unaires comme +2 ou -1 sont souvent
interprétées par le lecteur non averti comme de simples valeurs numériques.
Ces expressions doivent être parenthésées pour éviter une mauvaise expansion
dans certains cas tordus (laissés au soin du lecteur à titre d'exercice ;-).
Donc il faut parenthéser les "valeurs négatives" comme toutes les autres
expressions.

/* exemple: */
#define MIN_VALUE (-1)
#define MAX_VALUE 1

--
Chqrlie.
Publicité
Poster une réponse
Anonyme