如何在for循环宏中包含多个语句?

ris*_*iag 0 c++ macros

这个for循环宏在竞争性编程中经常使用:

#define REP(i, a, b) \
for (int i = int(a); i <= int(b); i++) 
Run Code Online (Sandbox Code Playgroud)

现在我们使用它如下:

REP(i, a, b)
   statement;
Run Code Online (Sandbox Code Playgroud)

但是,如果我想使用这样的多个语句怎么办?

REP(i, a, b)
   statement1;
   statement2;
Run Code Online (Sandbox Code Playgroud)

其中两个语句都在循环内.我该如何做到这一点?

Fre*_*ame 5

REP(i, a, b)
{
   statement1;
   statement2;
}
Run Code Online (Sandbox Code Playgroud)

如果这真的是你想要的.但请记住,除了你之外,它会让你的代码更难以阅读.特别是考虑到(i=0; i < n; i++)比这更广泛的事实(i=0; i <= n; i++).如果您的主要目标是避免每次都自己编写这个长建筑,我会在您喜欢的代码编辑器中查看一个片段.