读书人

向量有关问题

发布时间: 2012-02-19 19:43:37 作者: rapoo

向量问题
输入一些整数给向量,然后全部输出

#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() 是指向容器中最后一个元素的下一个元素
[解决办法]

C/C++ code
#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;} 

读书人网 >C++

热点推荐