Qu'est-ce que la directive #define en C++

Qu Est Ce Que La Directive Define En C



Le prétraitement en C++ fait référence à la phase initiale de la compilation ou de la traduction du programme où le fichier de programme source est modifié en fonction des directives du préprocesseur. Ces directives, désignées par le # symbole, sont exécutés par le préprocesseur et affectent le code source avant que le programme principal ne soit exécuté.

Les directives de préprocesseur en C++ sont désignées par le # (dièse) symbole au début de l'énoncé. Les directives de préprocesseur courantes en C++ incluent inclusion de fichiers et macros définition. Ces directives sont généralement placées en dehors de la fonction main() en haut du programme C++. Lors du pré-traitement, un fichier intermédiaire avec le .je l'extension est générée.

Directive #define en C++

En C++, la directive #define est une directive de préprocesseur utilisée pour définir des constantes ou des macros. Il vous permet de définir des noms ou des valeurs symboliques qui sont substitués dans tout le code avant que le processus de compilation proprement dit n'ait lieu.







Voici quelques-uns des principaux points forts du préprocesseur #define



  • En C++, la directive de préprocesseur #define est utilisée pour définir des macros.
  • Les macros en C++ sont des constantes nommées ou des expressions déclarées avec la directive #define.
  • Les directives #define sont également appelées directives macro.
  • Lorsqu'une directive #define est rencontrée dans un programme C++, le nom de la macro définie est remplacé par une valeur ou une expression constante lors de l'étape de compilation initiale.

Syntaxe de la directive #define

La syntaxe d'utilisation de la directive #define est la suivante :



#définir la valeur de l'identifiant

Où identificateur est le nom de la constante ou de la macro en cours de définition, et valeur est la valeur par laquelle il doit être remplacé lors de la compilation du code.





Exemple de directive #define

Voici un exemple qui explique comment la directive #define peut être utilisée dans le code C++ :

#include

#définir PI 3.14159

#define CARRE(x) ((x) * (x))

entier principal ( ) {

double rayon = 5.0 ;

double zone = PI * CARRÉ ( rayon ) ;

std :: écoute << 'Zone: ' << zone << std :: fin ;

retour 0 ;

}

Dans cet exemple, nous définissons deux constantes à l'aide de la directive #define : PI, qui représente la constante mathématique pi, et SQUARE, qui est une macro qui calcule le carré d'une valeur donnée. Nous utilisons ensuite ces constantes dans notre code pour calculer l'aire d'un cercle avec un rayon donné.



Différence entre #define et const

Une question courante qui se pose lors de l'examen de la directive #define est de savoir en quoi elle diffère de l'utilisation de variables const en C++. Bien que les deux approches vous permettent de définir des constantes pouvant être utilisées dans votre code, il existe certaines différences essentielles entre elles.

Une différence majeure entre #définir et constante est que #define est une directive de préprocesseur, tandis que const est un mot-clé qui fait partie du langage C++ lui-même. Cela signifie que les constantes définies à l'aide de #define sont remplacées par leurs valeurs avant la compilation du code, tandis que les variables const sont gérées par le compilateur lui-même.

Une autre différence clé entre #define et const est que les variables const ont un type spécifique, contrairement aux constantes définies à l'aide de #define. Cela signifie que vous pouvez utiliser des variables const aux endroits où un type spécifique est requis, tandis que les constantes définies à l'aide de #define peuvent ne pas toujours fonctionner dans ces situations.

Conclusion

La directive #define est une directive de préprocesseur utilisée pour définir des constantes ou des macros. Cela nous permet de définir des noms ou des valeurs symboliques qui sont substitués dans tout le code avant que le processus de compilation proprement dit n'ait lieu. En savoir plus sur la directive #define en C++ dans cet article.