这是我编写的示例代码。 我将按如下方式输出,
size 0
Here
为什么即使 myVec.size 的值为零,这段代码也会进入 for 循环
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> myVec;
cout <<" size " << myVec.size() << endl;
for (int i=0; i<myVec.size() -1; i++)
{
cout << " Here " << endl;
break;
}
return 0;
}
最佳答案
size()
返回无符号类型。对于无符号类型,0 - 1
“下溢”到最大值。由于 i
小于其转换类型的最大可能值,因此进入 for 循环。
关于c++ - 使用 vector 大小时,for 循环出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22868887/