在C+;中重复for循环的最佳方式是什么+;? 我想知道在C++中,< 循环的重复代码< > >的最佳方法是什么?如果for循环具有以下形式 for(int i=0;i<some_value;i++) for(int j : some_other_value)

在C+;中重复for循环的最佳方式是什么+;? 我想知道在C++中,< 循环的重复代码< > >的最佳方法是什么?如果for循环具有以下形式 for(int i=0;i<some_value;i++) for(int j : some_other_value),c++,C++,如何对这种循环重复相同的迭代?您没有。 如果您需要对循环进行更严格的控制,而不是简单地对序列进行前向迭代,那么基于范围的for对于该作业来说是错误的工具 改为返回基于索引的循环。您不需要。 如果您需要对循环进行更严格的控制,而不是简单地对序列进行前向迭代,那么基于范围的for对于该作业来说是错误的工具 返回到基于索引的循环。这不是foreach循环。这是一个基于范围的for循环。您不能在基于范围的for循环中重复相同的迭代。@ThomasSablik谢谢我编辑了我的问题。在您的示例中重用int

如何对这种
循环重复相同的迭代?

您没有。

如果您需要对循环进行更严格的控制,而不是简单地对序列进行前向迭代,那么基于范围的
for
对于该作业来说是错误的工具


改为返回基于索引的循环。

您不需要。

如果您需要对循环进行更严格的控制,而不是简单地对序列进行前向迭代,那么基于范围的
for
对于该作业来说是错误的工具


返回到基于索引的循环。

这不是foreach循环。这是一个基于范围的for循环。您不能在基于范围的for循环中重复相同的迭代。@ThomasSablik谢谢我编辑了我的问题。在您的示例中重用
int I
some_值
,当它们在这些上下文中表示完全不同的内容时,这是非常令人困惑的。@ThomasSablik我看不出口语化地将基于范围的for称为as有什么错“一个foreach循环”。这正是它的本来面目。
for(inti…){work(i);if(repeat){work(i);}}
。甚至
for(inti…){再次:work(i);if(repeat)goto再次;}
!这不是foreach循环。这是一个基于范围的for循环。你不能在基于范围的for循环中重复相同的迭代。@ThomasSablik谢谢我编辑了我的问题。在你的示例中重用
int I
某些值,当它们在这些上下文中表示完全不同的事情时,这是非常令人困惑的。@ThomasSablik我不明白什么是正确的通俗地说,将基于范围的for称为“foreach循环”是错误的。这正是它的本来面目。
for(inti…{work(i);if(repeat){work(i);}}
。甚至
for(inti…{再次:work(i);if(repeat)goto再次;}
!@cigien我也这么做了,但后来我意识到OP也使用了
int I
作为基于范围的元素名称,所以最好避免;)谢谢你的回答,我在第一种循环中使用
I--
是好的还是我可以使用更好的循环?@Danilovanovic我对此不感兴趣,tbh-我更喜欢使用
I++
out of the loop intro,并将其作为语句(有条件地执行)放在正文中。有些人会说,这是一种获得意外无限循环的简单方法,但我不认为这比在“奇怪”中使用索引更糟糕“方法。@cigien我也这么做了,但后来我意识到OP也使用了
int I
作为基于范围的元素名称,例如,所以最好避免;)谢谢你的回答,我在第一种循环中练习
i--
是好的还是我可以使用更好的循环?@Danilovanovic我对此并不疯狂,tbh-我更喜欢将
i++
从循环介绍中取出,并将其作为语句(有条件地执行)放在正文中。有人会说这是一种获得意外无限循环的简单方法,但我不认为这比以“奇怪”的方式使用索引更糟糕。