再次运行bool受控循环

时间:2018-05-24 11:07:11

标签: c++ loops boolean

bool loop;
do {
     ...
} while (loop);

我需要在loopfalse之后再次运行此循环。 我不能使用整数计数器来制作像while (loop && counter > required)这样的东西,因为迭代次数随传入数据而变化。

4 个答案:

答案 0 :(得分:9)

bool loop;
do {
    loop = process(...);
} while (loop);
loop = process(...);

答案 1 :(得分:4)

bool loop;
int n = 1;
do {
     ...
} while ((loop && n) || n--);

答案 2 :(得分:1)

在循环条件成立后开始计数。

bool loop;
int exit_counter = 0;
do {
     // ...

     if (loop || exit_counter > 0)
         exit_counter++;
} while (exit_counter < 2);

然而,我更喜欢@ martin.dowie的方法。它更清楚。

答案 3 :(得分:1)

这也可以。

bool loop=true;
bool loop2=true;
do {
    if(loop==false) loop2=false;

    ......loop=false;

} while (loop || loop2);

即使用“loop OR loop2”逻辑表达式。最初两者都是真的。 “loop2”在“循环”变为假之后仅变为一次迭代。所以你需要额外的迭代。