Maison > Article > développement back-end > Comment définir et utiliser des macros de préprocesseur multilignes en C ?
Macros de préprocesseur multilignes : création de macros complexes en C
La création de macros de préprocesseur multilignes en C permet aux développeurs de définir des blocs complexes de code qui peut être facilement réutilisé tout au long du programme. Bien que les macros sur une seule ligne comme #define sqr(X) (X*X) soient simples, le besoin se fait souvent sentir de macros plus complexes qui s'étendent sur plusieurs lignes.
Comment définir des macros multilignes
Pour définir une macro multiligne, utilisez simplement le caractère barre oblique inverse () comme caractère d'échappement de continuation de ligne. Par exemple, la macro suivante définit une classe X avec deux membres, foo et doFoo() :
<code class="c++">#define someMacro(X) \ class X : public otherClass \ { \ int foo; \ void doFoo(); \ };</code>
Notez que la barre oblique inverse doit être le dernier caractère de chaque ligne faisant partie de la macro. L'ajout d'un espace blanc ou d'autres caractères après la barre oblique inverse entraînera des erreurs de compilation.
Exemples de macros
Considérez l'exemple de macro suivant qui échange les valeurs de deux variables :
<code class="c++">#define swap(a, b) { \ (a) ^= (b); \ (b) ^= (a); \ (a) ^= (b); \ }</code>
Cette macro vous permet d'échanger facilement les valeurs de deux variables :
<code class="c++">int main() { int a = 10; int b = 20; swap(a, b); std::cout << "a: " << a << std::endl; std::cout << "b: " << b << std::endl; return 0; }</code>
Sortie :
a: 20 b: 10
Avantages des macros multilignes
Les macros multilignes offrent plusieurs avantages :
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!