我定义了一个vector对象,使用循环访问它的元素,begin()应该返回第一个元素的下标,然而它开始第一次循环的时候返回的下标是1,难道不应该是0吗,并且调试器显式这个
他那个红色感叹号是什么意思呀,这是第一次循环编译器给的信息
这个程序的目的是实现向量相邻两个元素相加并输出,练习vector和迭代器的使用,以下是源代码。
using namespace std;
int main()
{
vector<int> intSum;
vector<int> sum;
int a;
while (cin>>a)
{
if(a == 999)
break;
intSum.push_back(a);
}
if(intSum.size() == 0)
return -1;
if(intSum.size()%2 == 0)
{
for(auto i=intSum.begin();i<=intSum.end()-1;i+=2)
{
sum.push_back((i+(i+1)));
}
}
else
{
for(auto i=intSum.begin();i<=intSum.end()-1;i+=2)
{
sum.push_back((i+(i+1)));
}
sum.push_back(*(intSum.end()-1));
}
for (auto x:sum)
cout<<x<<endl;
return 0;
}