如果只有一个条目,反向For循环是否完全跳过



我有一个正在反向循环的数组。然而,如果我的数组中只有一个条目,它似乎根本不会循环。

for (uint8 i = fileNames.Num() - 1; i --> 0;)
{
//Do stuff
}

有人能告诉我为什么吗?或者我能做些什么来修复循环条件?

您发布的代码与以下内容含义相同:

uint8 i = filenames.Num() - 1
while ( (i--) > 0) {
//do stuff
}

如果filename.Num()为1,则循环体不会执行,因为1-1不大于零。

这个表达式i --> 0不是惯用的C++,在实际代码中没有位置。这是一个编程语言双关语,在某种程度上是一个笑话,有人在Usenet上发布了一个以新手为代价的笑话,类似于其他社交领域的天空钩或鹬狩猎,例如";嘿,你知道C++中的秘密运算符吗">

最新更新