-3

下面是C++代码,可能需要重点强调一下!

例如,我的意思是,说我有:

bool this = true;
if(this)
{
   this = false;
   //other code here
}

当“this”变为假时,这是否意味着条件中的语句将不再执行,因为条件不再满足,或者语句的其余部分“//此处的其他代码”仍将执行?我一直小心不要改变条件的状态,直到我完成了我需要对那个条件做的任何事情,但我很好奇这是否是必要的。谢谢你的时间。

4

1 回答 1

2

不,您的语句中的条件在它说if(this)[1] 的地方进行了测试 - 之后,您可以随意更改值,代码将继续。

请注意,这个概念也适用于while(condition) { ... }-condition仅在循环开始时被检查,因此代码从那里按顺序继续,直到它再次回到循环的开始。

这是一种相当常见的模式:

need_print_heading = true;
lines = 0;

while(more_data)
{

    if (need_print_heading)
    {
       need_print_heading = false;
       print_heading();
    }
    print_data();
    linex++;
    if (lines > 50) need_print_heading = true;
}

[1]this在您显示的代码中使用 of 意味着它是无效的 C++,因为它是 C++this中的保留字。您需要更改名称才能编译此代码。

于 2013-07-19T12:47:00.287 回答