如果while循环至少运行一次,那么执行代码最有效的方法是什么



我有一个while循环,如果while循环至少运行一次,我希望运行一些代码行。如果while循环没有运行,我想跳过这行代码。

while(condition) {
doSomething();
}
doSomethingElse(); 
/* Only run doSomethingElse() if the while loop ran
at least once */

我可以在它运行之前将bool设置为false,在它运行时将其设置为true,但对我来说,这感觉有点混乱。此外,这个while循环位于一个最多可以运行10^6次的函数内部,并且它有时间限制,所以我希望它尽可能高效地运行。有办法做到这一点吗?

*注意:不要将其与Do-while循环混淆,后者无论如何都至少运行一次。我想要一行只有当while循环至少运行一次时才能运行的代码。

你的意思似乎是

if ( condition )
{
while(condition) {
doSomething();
}
doSomethingElse(); 
}

if ( bool b = condition )
{
while( b) {
doSomething();
b = condition;
}
doSomethingElse(); 
}

if ( condition )
{
do {
doSomething();
} while ( condition );
doSomethingElse(); 
}
int count=0;
while(condition) {
doSomething();
count=count+1;
}if(count >=1) {
// Enter the block of code that you want to run at least once }

最新更新