有人能解释一下(;Q.size();)的意思吗是吗



我正在尝试理解源代码,但我不知道for(;Q.size();)行是如何工作的。有人能帮我简化一下吗?

for语句由三部分组成,用分号分隔:

  • 一个init语句
  • a条件
  • 一个迭代表达式

for循环等效于以下代码:

{
init_statement 
while ( condition ) { 
statement 
iteration_expression ; 
}
}

init语句iteration_expression可以为空,但它们之间的分号仍然是必需的。

在您的示例中,for(;Q.size();)因此等效于:

{
while ( Q.size() ) { 
statement 
}
}

这样看:

for(<do nothing>;Q.size();<do nothing>) {//do something}

现在阅读for循环的定义,看看它是否非常适合。正如其他人所提到的,本质上这相当于while(Q.size())

这是一个for循环,它不关心递增的索引变量。正如Blaze所指出的,它相当于一个while循环。

for(;Q.size();)
{
// do something while Q is not empty
}

或等效

while(Q.size())
{
// do something while Q is not empty
}

相关内容

  • 没有找到相关文章

最新更新