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

How do I include multiple statements in my for loop macro?

本文关键字:包含多 语句 循环 我的 for      更新时间:2023-10-16

这个for loop macro在竞争性编程中经常使用:

#define REP(i, a, b) 
for (int i = int(a); i <= int(b); i++) 

现在我们按如下方式使用它:

REP(i, a, b)
   statement;

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

REP(i, a, b)
   statement1;
   statement2;

其中两个语句都在循环内。我该如何实现此目的?

REP(i, a, b)
{
   statement1;
   statement2;
}

如果这真的是你想要的。但请记住,这将使您的代码更难被除您之外的任何人阅读。特别是考虑到(i=0; i < n; i++)(i=0; i <= n; i++)更广泛.如果您的主要目标是避免每次都自己编写这么长的构造,我会在您最喜欢的代码编辑器中查看片段。

写入

for(int i = a; i <= b; i++)
{
   statement1;
   statement2;
}

这里绝对没有理由使用宏 - 它只是隐藏了代码的作用,并可能破坏事情(例如,ab的值并不真正适合int,但大小写使它们"适合"。