向量问题
输入一些整数给向量,然后全部输出
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>a;
for(int w=0;w!=-1;)
{
cout<<"Please input staffs' wage:";
cin>>w;
a.push_back(w);
}
a.pop_back();
for(vector<int>::iterator it=a.begin();it!=a.end();++it)
cout<<*it<<endl;
cout<<a.end();
return 0;
}
为什么是it!=a.end()
我已经用a.pop_back(w)删除最后输入的 -1 了啊
难道系统默认会最后给向量一个值(像数组那样)???
[解决办法]
a.end() 是指向容器中最后一个元素的下一个元素
[解决办法]
#include <iostream>#include <vector>using namespace std;int main(){ vector<int> a;for(int w=0;w!=-1;){ cout <<"Please input staffs' wage:"; cin>>w; a.push_back(w);}//////存在-1的。for(vector<int>::iterator it=a.begin();it!=a.end();++it)cout <<*it <<endl;cout<<endl<<endl;////////除去-1a.pop_back();for(vector<int>::iterator it=a.begin();it!=a.end();++it)cout <<*it <<endl;//cout <<a.end(); //a.end() 是指向容器中最后一个元素的下一个元素,即是一个没有确定的数。 return 0;}