【发布时间】:2018-01-18 17:22:41
【问题描述】:
根据 Stroustrup Programming.. 下面的代码应该会产生范围错误。错误在最后一行i<v.size() 而不是i<=v.size。
我运行了代码,它输出了向量的内容,包括v[v.size],而不是抛出异常。我正在使用带有 mingw 的 CodeBlocks。
#include <iostream>
#include <string>
#include <vector>
#include <stdexcept>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
vector<int>v;
for (int x;cin>>x;) v.push_back(x);
for (int i=0;i<=v.size();i++) cout << "\nv[" << i << "]==" << v[i];
}
【问题讨论】:
-
“根据 Stroustrup Programming.. 下面的代码应该会产生范围错误。”能否引用原文?