Macros multi-lignes en préprocement
La création de macros de préprocesseur unique est simple, mais lorsqu'il s'agit de définir des macros qui s'étendent sur plusieurs lignes, la tâche peut sembler incontestable. Cet article fournit une solution complète pour créer des macros multi-lignes en C / C De plus, chaque ligne de la macro, à l'exception de la dernière ligne, doit se terminer avec un caractère d'échappement de continuation de ligne. Ce personnage signifie que la définition de macro se poursuit sur la ligne suivante.
Par exemple, pour définir une macro qui crée une nouvelle classe, comme spécifié dans la question, la syntaxe suivante peut être utilisée:
# Définir Somemacro (x) \ {\ Classe X: Autre autre public \ {\ int foo; \ void dofoo (); \ }; \ }
нюансы
#define someMacro(X) \
{ \
class X : public otherClass \
{ \
int foo; \
void doFoo(); \
}; \
}
Les applications
Les macros multi-lignes sont utiles dans les scénarios où les déclarations complexes doivent être étendues à plusieurs reprises. Ils améliorent la lisibilité du code en encapsulant les blocs de code couramment utilisés en unités réutilisables.
Exemple
Considérez l'exemple suivant:
# Définir Swap (a, b) \ \ \ \ \ \ {\ int temp = (a); \ (a) = (b); \ (b) = temp; \ }
Cette macro peut être utilisée pour échanger facilement les valeurs de deux variables.
#define SWAP(a, b) \
{ \
int temp = (a); \
(a) = (b); \
(b) = temp; \
}
Conclusion
int main() {
int a = 10, b = 20;
// Invoke the SWAP macro to swap the values
SWAP(a, b);
cout
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3