Commentaires

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Présentation des caractères inertes - Index

Les commentaires sont des bouts de texte utilisés pour annoter un programme. Ceux-ci ne servent qu'au programmeur et sont supprimés du texte source avant l'analyse.

Vous pouvez délimiter les commentaires de deux manières : en utilisant la méthode C ou la méthode C++. Le compilateur prend en charge les deux méthodes et offre en outre la possibilité supplémentaire d'imbriquer les commentaires. Si vous ne compilez pas en vue de la compatibilité avec la norme ANSI, vous pouvez utiliser l'un de ces types de commentaires dans les programmes en C et en C++.

Pour éviter d'autres problèmes de portabilité, il faut également suivre les indications, données plus loin dans cette rubrique, sur l'utilisation des inertes et des délimiteurs.

Commentaires C

Un commentaire en C est n'importe quelle séquence de caractères placée après la paire de symboles /*. Le commentaire se termine par la première occurrence de la paire */ qui suit la paire initiale /*. Après le développement des macros, la séquence entière, y compris les quatre délimiteurs de commentaire, est remplacée par un espace. Notez que certaines implémentations de C suppriment les commentaires sans les remplacer par des espaces.

Le compilateur ne prend pas en charge la méthode non portable de fusion de tokens dont la syntaxe est /**/. La fusion de tokens s'effectue grâce à la paire de symboles ##, comme ci-dessous :

#define VAR(i,j)  (i/**/j)    /* won't work */
#define VAR(i,j)  (i##j)      /* OK */
#define VAR(i,j)  (i ## j)    /* Also OK */

Le compilateur analyse la déclaration,

int /* declaration */ i /* counter */;

comme ces trois tokens :

int   i;

Pour plus d'informations sur la fusion d'éléments, voir la rubrique Fusion de tokens avec ##.

Commentaires C++

C++ permet d'insérer une ligne de commentaire en utilisant deux barres obliques accolées (//). Le commentaire peut commencer à n'importe quel endroit et s'étendre jusqu'à la ligne suivante :

class X {  // this is a comment
... };

Vous pouvez aussi utiliser // pour créer des commentaires dans le code C. Cette fonctionnalité est spécifique au compilateur Appmethod C++ et généralement non portable.

Commentaires imbriqués

Le langage C ANSI n'autorise pas les commentaires imbriqués. Un essai de commentaire de la ligne précédente avec :

/*  int /* declaration */ i /* counter */; */

échouera, puisque la portée du premier /* prend fin à la première séquence */ rencontrée. Ce qui donne :

i ; */

générant une erreur de syntaxe.

Par défaut, pour autoriser les commentaires imbriqués, cochez Projet|Options|Options avancées du compilateur|Source|Commentaires imbriqués.

Délimiteurs et inertes

Dans de rares cas, des inertes avant /* et //, et après */ peuvent éviter des problèmes de portabilité. Ils ne sont toutefois pas obligatoires. Par exemple, ce code C++ :

int i = j//* divide by k*/k;
+m;

est analysé comme int i = j +m; et non comme

int i = j/k;
+m;

comme on pourrait s'y attendre avec la convention C. La forme suivante, plus lisible

int i = j/ /* divide by k*/ k;
+m;

évite ce problème.

Voir aussi