首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

向量有关问题

2012-02-19 
向量问题输入一些整数给向量,然后全部输出#includeiostream#includevectorusing namespace stdint ma

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

#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;} 

热点排行