如果你使用基于范围的for循环而不是标准的for循环,你能避免超出范围的错误吗?
我尝试用左右范围为基础的for循环中,如果您使用范围为基础,通过矢量循环来运行到超出范围的错误有没有办法避免这种错误,如果您使用的是基于范围的for循环
int main()
{
vector<int> num{ 1,2,3,4,5 };
for (auto i : num)
{
cout << num[i] << endl;
}
}
它显示了这个错误
回答
这与循环的类型无关。您的循环查看ivector中的所有值num,然后打印num[i]。其中之一是5,所以它打印num[5]。但是num有 5 个元素,所以它们只能到num[4]. 超出范围。
THE END
二维码