(b) ? (a) : (b))"; 3. Définir des macros avec des expressions complexes, "#define ABS(x) ((x) < 0 ? -(x ) : (x) ) »."/> (b) ? (a) : (b))"; 3. Définir des macros avec des expressions complexes, "#define ABS(x) ((x) < 0 ? -(x ) : (x) ) ».">

Maison >développement back-end >C++ >définir l'utilisation de la macro de fonction

définir l'utilisation de la macro de fonction

DDD
DDDoriginal
2023-10-11 12:00:191267parcourir

Utilisation de la macro de fonction de définition : 1. Définissez une macro de calcul simple, "#define SQUARE(x) ((x) * (x))" 2. Définissez une macro avec plusieurs paramètres, "#define MAX (a, b) ((a) > (b) ? (a) : (b))"; 3. Définir des macros avec des expressions complexes, "#define ABS(x) ((x) bfe58fbbc8e03c58dd13910a457cdbe0 (10) ? ( 5) : ( 10))`, c’est-à-dire `10`.

3. Définissez des macros avec des expressions complexes :

#define ABS(x) ((x) < 0 ? -(x) : (x))

Lorsque vous utilisez `ABS(-5)` dans votre code, le préprocesseur le remplacera par `((-5) < 0 ? -(- 5) : (- 5))`, qui vaut `5`.

Il convient de noter que les macros de fonctions ne sont que de simples remplacements de texte, sans vérification de type ni restrictions de portée. Par conséquent, des précautions doivent être prises lors de l’utilisation de macros de fonctions pour éviter les erreurs potentielles et les effets secondaires. De plus, étant donné que la macro de fonction est remplacée lors de la phase de prétraitement, ses paramètres ne sont pas évalués plusieurs fois. Par conséquent, les expressions ayant des effets secondaires doivent être évitées dans les macros de fonctions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn