(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
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!