在编程时,我发现当我使用条件i < vec.size() - 1
时,我的代码会给出运行时错误,但是当我使用i + 1< vec.size()
时,它可以正常工作。这里的vec
是一个空的std :: vector
。
//giving error
vector<int> vec;
for (int i = 0; i < vec.size() - 1; i++)
{
//some code
}
//not giving error
vector<int> vec;
for (int i = 0; i + 1 < vec.size(); i++)
{
//some code
}
size() - 1
个元素(意味着它会错过向量的最后一个元素)。这是你真正想要的吗?还是你实际上打算迭代整个向量? - Nikos C.