【发布时间】:2020-07-02 20:01:41
【问题描述】:
我有一个向量并像这样对其进行迭代:
for (int i=0,num_of_roads=roads.size();i<num_of_roads;++i)
{
roads[i]//...
}
但我看到一些写:
for (Road road:roads)
{
road//...
}
有人可以解释一下有什么区别吗?他们会给出相同的结果吗
【问题讨论】:
-
这是一个描述,解释了这相当于什么旧样式循环:en.cppreference.com/w/cpp/language/range-for
-
@WernerHenze 我不想使用自动,我上面写的这两种情况是一样的吗?
-
您可能想要使用
Road &road(如果您需要修改存储在roads中的值)或const Road &road(以避免复制)。 -
@1201ProgramAlarm 我认为您的解决方案中的“const Road &road”应该是:“const Road &road:Road”吧?
-
road.speed()出现什么错误?